php变量在哪定义,PHP变量定义及工作原理
1、變量定義:
通常學(xué)到的是,變量代表存儲(chǔ)空間以及其中數(shù)據(jù)的一個(gè)“標(biāo)識(shí)符”。
變量名 指向 變量值
更深入的說是 變量指向內(nèi)存的一塊區(qū)域
2、變量工作原理,通過畫圖分析法——內(nèi)存空間
//php引用變量:不同變量名指向同一地址。
//定義一個(gè)變量a,此時(shí)內(nèi)存開辟了一塊區(qū)域,$a指向該區(qū)域。
$a = 100;
var_dump($a); //int 100
//定義變量b,將a變量的值賦值給b,此時(shí)該區(qū)域有兩個(gè)變量($a和$b)指向。
$b = $a;
var_dump($b); //int 100
//修改$a變量的值,php變量具有Copy On Write的特性,所以會(huì)復(fù)制并重寫a所指向的區(qū)域值,此時(shí)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)引用指向時(shí),php變量不在具有COW特性,且指向同一內(nèi)存區(qū)域。
//* unset()只能消除變量的引用,不能刪除其內(nèi)存分配的空間
//------------------------------------------------------------------
/*
例題:
寫出如下程序的輸出結(jié)果:
$data = ['a','b','c'];
foreach($data as $key=>$val){
$val = &$data[$key];
}
問:最終$data的值是多少?
*/
$data = ['a','b','c'];
foreach($data as $key=>$val){
$val = &$data[$key];
print_r($data);
}
/*
1.$key = 0,
$val = 'a',
$val = &$d[0] =>'a'
$data = ['a','b','c'];
2.$key = 1,
$val = 'b', =>$d[0]
$val = &$d[1] =>'b'
$data = ['b','b','c'];
1.$key = 2,
$val = 'c', =>$d[1]
$val = &$d[2]=>'c'
$data = ['b','c','c'];
*/
以上來自代碼 https://www.cnblogs.com/luma/p/7465388.html#undefined
內(nèi)容來源于網(wǎng)絡(luò)如有侵權(quán)請(qǐng)私信刪除
總結(jié)
以上是生活随笔為你收集整理的php变量在哪定义,PHP变量定义及工作原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab样本序列的时域波形,时域信号
- 下一篇: Linux负载均衡软件LVS之一(概念篇