1.PHP引用變量:不同變量名指向同一地址。unset()只能消除變量的引用焰坪,不能刪除其內(nèi)存分配的空間
//定義一個變量a,此時內(nèi)存開辟了一塊區(qū)域弦疮,$a指向該區(qū)域道媚。
$a = 100;
var_dump($a); //int 100
//定義變量b军浆,將a變量的值賦值給b夫植,此時該區(qū)域有兩個變量($a和$b)指向泊业。
$b = $a;
var_dump($b); //int 100
//修改$a變量的值且叁,php變量具有Copy On Write的特性都哭,
//所以會復(fù)制并重寫a所指向的區(qū)域值,此時a和b分別指向不同區(qū)域逞带。
$a = 10;
var_dump($a); //int 10
var_dump($b); //int 100
/*------------------------------------------------------------------*/
$c = 100;
$d = &$c;
$c = 10;
var_dump($c); //int 10
var_dump($d); //int 10
//當(dāng)引用指向時质涛,php變量不在具有COW特性,且指向同一內(nèi)存區(qū)域掰担。
// unset()只能消除變量的引用汇陆,不能刪除其內(nèi)存分配的空間
/*------------------------------------------------------------------*/
2.靜態(tài)變量會在解析代碼的時候聲明提前。
$a=3;
echo $a;//輸出:3
static $a=6;
echo $a;//輸出:12. *靜態(tài)變量會在編譯階段聲明提升*带饱。
$a=9;
echo $a;//輸出:9
static $a=12;
echo $a;//輸出:9
/*---------------------------------------------*/
3;
12;
9;
9;
3.變量的判斷:由于PHP是弱類型毡代,故有很多種情況都可以表示false
//
$b=false
$b=0
$b=0.000(不論多少個0)
$b=""
$b=''
if([]){
print_r(true);
}else{
print_r('aaaaa');//輸出aaaaa
}
4.變量類型的轉(zhuǎn)換:settype()函數(shù),(int)...勺疼,intval()
settype($exp,'integer');
(int)$exp;
intval($exp);