在PHP中,變量是$+變量名,變量名遵循標(biāo)識(shí)符的命名規(guī)則,可以以字母、下劃線開(kāi)頭,可以由數(shù)字、下劃線、字母組成合法的變量名。
變量聲明
所有變量在使用之前應(yīng)該進(jìn)行聲明,而且最好帶上注釋,雖然在PHP中可以不顯示聲明變量。聲明變量之后,可以為變量進(jìn)行賦值;變量的賦值有兩種類型值賦值和引用賦值。
?php
#合法的聲明變量
$_name;
$account;
$show_title;
#賦值
$color="red";
#引用賦值
$user_color=$color;
?>
變量的作用域
在PHP腳本中的任何位置都可以聲明變量,但是根據(jù)位置的不同,作用域的范圍也不同。
局部變量
一般局部變量都是在函數(shù)中聲明,即它只能在函數(shù)中被引用,函數(shù)退出時(shí)改變量及其值被銷毀。如果在函數(shù)外使用該變量,PHP會(huì)把它當(dāng)作另外一個(gè)變量進(jìn)行處理,與函數(shù)中的變量無(wú)任何關(guān)系。
?php
$x=5;
function show_x() {
$x=3;
echo $x;
}
show_x();
echo $x;
?>
函數(shù)參數(shù)
函數(shù)參數(shù)更具其傳遞的方式分為兩種,按值傳遞和按引用傳遞;如果是按值傳遞,參數(shù)的作用域只限于函數(shù)內(nèi),函數(shù)退出后參數(shù)被銷毀。但按引用傳遞,參數(shù)的作用域范圍不僅在函數(shù)內(nèi)部。
?php
$cost_fish=20.10;
$cost_apple=2.45;
#引用參數(shù)前面需要加上符號(hào)
function rise($cost_fish,$cost_apple) {
$cost_fish++;
$cost_apple++;
}
rise($cost_fish,$cost_apple);
echo $cost_fish."值傳遞參數(shù)--->引用傳遞參數(shù)".$cost_apple;
?>
全局變量
可以在腳本中的任何一個(gè)地方訪問(wèn)全局變量,但在函數(shù)中要修改全局變量的時(shí)候需要使用關(guān)鍵字global顯式的聲明。
?php
$x=5;
function show_x() {
global $x;
$x++;
}
show_x();
?>
通過(guò)$GLOBAL數(shù)組也可以聲明全局變量
?php
$x=5;
function show_x() {
global $x;
$x++;
}
show_x();
?>
使用全局變量一定要謹(jǐn)慎,用多了之后很容易造成代碼混亂。
靜態(tài)變量
靜態(tài)變量與函數(shù)參數(shù)不同在于,靜態(tài)變量聲明的時(shí)候多了static關(guān)鍵字,使得靜態(tài)變量在函數(shù)退出之后不會(huì)被銷毀,并且保留這個(gè)值在函數(shù)再次調(diào)用的時(shí)候使用該值。
?php
function spend() {
static $date=0;
$date++;
echo $date;
}
spend();
spend();
?>
PHP預(yù)定義變量
PHP中預(yù)定義了很多變量,可以在執(zhí)行腳本的任何位置訪問(wèn)他們,這些變量主要是提供了大量關(guān)于環(huán)境的信息。
//打印出$_SERVER 預(yù)定義的變量信息
foreach($_SERVER as $var =>$value){
echo "$var=>$valuebr/>";
}
先看下PHP正在進(jìn)行時(shí)-字符串動(dòng)態(tài)插入變量的內(nèi)容。具體內(nèi)容詳情如下所示:
在PHP中,一般用雙引號(hào)或者單引號(hào)將字符串括起來(lái)。
echo "張三李四王五叫上趙六一起去'喝酒'".
如果要?jiǎng)討B(tài)將將數(shù)據(jù)插入到字符串中,我們除了使用.號(hào)拼接,還可以通過(guò)使用{}來(lái)標(biāo)識(shí)字符串中動(dòng)態(tài)的部分。
?php
$name="趙六";
echo "張三李四王五\n叫上$name一起去\'喝酒'.";
echo "/br>";
echo "張三李四王五\n叫上\$name一起去\'喝酒'.";
echo "/br>";
echo "張三李四王五\n叫上{$name}一起去'喝酒'.";
echo "/br>";
echo '張三李四王五\n叫上$name一起去\'喝酒'.';
echo "/br>";
echo '張三李四王五\n叫上{$name}一起去\'喝酒'.';
echo "/br>";
?>
通過(guò)上面的代碼我們發(fā)現(xiàn):
- 在雙引號(hào)中直接插入變量是無(wú)效的;
- 在雙引號(hào)中可以通過(guò)反斜杠()轉(zhuǎn)義字符,但雙引號(hào)中的單引號(hào)不需要通過(guò)反斜杠轉(zhuǎn)義;
- 在單引號(hào)中除了可以轉(zhuǎn)義單引號(hào),對(duì)其他的字符反斜杠轉(zhuǎn)義是無(wú)效的;
- 通過(guò){}可以在雙引號(hào)字符串中動(dòng)態(tài)插入變量。
總結(jié)
以上所述是小編給大家介紹的PHP正在進(jìn)行時(shí)-變量詳解及字符串動(dòng)態(tài)插入變量,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- php解析http獲取的json字符串變量總是空白null
- php使用parse_str實(shí)現(xiàn)查詢字符串解析到變量中的方法
- php 變量定義方法
- php中static靜態(tài)變量的使用方法詳解
- php判斷變量類型常用方法
- PHP中session變量的銷毀
- PHP 判斷常量,變量和函數(shù)是否存在
- PHP 變量類型的強(qiáng)制轉(zhuǎn)換
- 解析在PHP中使用全局變量的幾種方法
- PHP中使用unset銷毀變量并內(nèi)存釋放問(wèn)題
- php 字符串中是否包含指定字符串的多種方法
- php變量與字符串的增刪改查操作示例