<div style="height:30px;line-height:30px;background:#f1f1f1;font-weight:bold;font-size:14px;padding:5px 10px;margin-bottom:10px;border-bottom:1px solid #ccc">變量>基礎</div>
**PHP 中的變量用一個美元符號后面跟變量名來表示。變量名是區分大小寫的。一個有效的變量名由字母或者下劃線開頭,后面跟上任意數量的字母,數字,或者下劃線**
---
變量賦值
**1.傳值賦值:**變量默認總是傳值賦值。那也就是說,當將一個表達式的值賦予一個變量時,整個原始表達式的值被賦值到目標變量。也就是說,當一個變量的值賦予另外一個變量時,改變其中一個變量的值,將不會影響到另外一個變量。
**2.引用賦值:**這意味著新的變量簡單的引用(換言之,“成為其別名” 或者 “指向”)了原始變量。改動新的變量將影響到原始變量,反之亦然。
---
初始化變量
雖然在 PHP 中并不需要初始化變量,但對變量進行初始化是個好習慣。未初始化的變量具有其類型的默認值 - 布爾類型的變量默認值是 FALSE,整形和浮點型變量默認值是零,字符串型變量(例如用于 echo 中)默認值是空字符串以及數組變量的默認值是空數組。
依賴未初始化變量的默認值在某些情況下會有問題,例如把一個文件包含到另一個之中時碰上相同的變量名。另外把 register_globals 打開是一個主要的安全隱患。使用未初始化的變量會發出 E_NOTICE 錯誤,但是在向一個未初始化的數組附加單元時不會。isset() 語言結構可以用來檢測一個變量是否已被初始化。
isset() 用來檢測一個變量是否初始化。
is_null()檢測一個變量是否為NULL
empty()用來測試變量是否已經配置。若變量已存在、非空字符串或者非零,則返回 false 值;反之返回 true。
unset:銷毀指定的變量。
~~~
<?php
print isset($a); // $a is not set. Prints false. (Or more accurately prints ''.)
$b = 0; // isset($b) returns true (or more accurately '1')
$c = array(); // isset($c) returns true
$b = null; // Now isset($b) returns false;
unset($c); // Now isset($c) returns false;
?>
~~~
* * * * *
**注意:**
1.$this 是一個特殊的變量,它不能被賦值。
2.只有有名字的變量才可以引用賦值。
~~~
$bar = &(24 * 7);
//非法的引用賦值
$bar = &test();
//非法的引用賦值
~~~