您好,登錄后才能下訂單哦!
這篇文章主要講解了“PHP變量的相關知識點總結”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP變量的相關知識點總結”吧!
在PHP中,變量是$+變量名,變量名遵循標識符的命名規則,可以以字母、下劃線開頭,可以由數字、下劃線、字母組成合法的變量名。
變量聲明
所有變量在使用之前應該進行聲明,而且最好帶上注釋,雖然在PHP中可以不顯示聲明變量。聲明變量之后,可以為變量進行賦值;變量的賦值有兩種類型值賦值和引用賦值。
<?php #合法的聲明變量 $_name; $account; $show_title; #賦值 $color="red"; #引用賦值 $user_color=&$color; ?>
變量的作用域
在PHP腳本中的任何位置都可以聲明變量,但是根據位置的不同,作用域的范圍也不同。
局部變量
一般局部變量都是在函數中聲明,即它只能在函數中被引用,函數退出時改變量及其值被銷毀。如果在函數外使用該變量,PHP會把它當作另外一個變量進行處理,與函數中的變量無任何關系。
<?php $x=5; function show_x() { $x=3; echo $x; } show_x(); echo $x; ?>
函數參數
函數參數更具其傳遞的方式分為兩種,按值傳遞和按引用傳遞;如果是按值傳遞,參數的作用域只限于函數內,函數退出后參數被銷毀。但按引用傳遞,參數的作用域范圍不僅在函數內部。
<?php $cost_fish=20.10; $cost_apple=2.45; #引用參數前面需要加上&符號 function rise($cost_fish,&$cost_apple) { $cost_fish++; $cost_apple++; } rise($cost_fish,$cost_apple); echo $cost_fish."值傳遞參數<--->引用傳遞參數".$cost_apple; ?>
全局變量
可以在腳本中的任何一個地方訪問全局變量,但在函數中要修改全局變量的時候需要使用關鍵字global顯式的聲明。
<?php $x=5; function show_x() { global $x; $x++; } show_x(); ?>
通過$GLOBAL數組也可以聲明全局變量
<?php $x=5; function show_x() { global $x; $x++; } show_x(); ?>
使用全局變量一定要謹慎,用多了之后很容易造成代碼混亂。
靜態變量
靜態變量與函數參數不同在于,靜態變量聲明的時候多了static關鍵字,使得靜態變量在函數退出之后不會被銷毀,并且保留這個值在函數再次調用的時候使用該值。
<?php function spend() { static $date=0; $date++; echo $date; } spend(); spend(); ?>
PHP預定義變量
PHP中預定義了很多變量,可以在執行腳本的任何位置訪問他們,這些變量主要是提供了大量關于環境的信息。
//打印出$_SERVER 預定義的變量信息 foreach($_SERVER as $var =>$value){ echo "$var=>$value<br/>"; }
先看下PHP正在進行時-字符串動態插入變量的內容。具體內容詳情如下所示:
在PHP中,一般用雙引號或者單引號將字符串括起來。
echo "張三李四王五叫上趙六一起去'喝酒'".
如果要動態將將數據插入到字符串中,我們除了使用.號拼接,還可以通過使用{}來標識字符串中動態的部分。
<?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>"; ?>
通過上面的代碼我們發現:
在雙引號中直接插入變量是無效的;
在雙引號中可以通過反斜杠()轉義字符,但雙引號中的單引號不需要通過反斜杠轉義;
在單引號中除了可以轉義單引號,對其他的字符反斜杠轉義是無效的;
通過{}可以在雙引號字符串中動態插入變量。
感謝各位的閱讀,以上就是“PHP變量的相關知識點總結”的內容了,經過本文的學習后,相信大家對PHP變量的相關知識點總結這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。