這篇文章主要介紹“php變量賦值的方法有哪些”,在日常操作中,相信很多人在php變量賦值的方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php變量賦值的方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了簡陽免費(fèi)建站歡迎大家使用!
php變量賦值有三種:1、傳值賦值,將一個(gè)表達(dá)式的值賦予一個(gè)變量,語法例如“$a=表達(dá)式”;2、引用賦值,將另一個(gè)變量和當(dāng)前的變量指向同一個(gè)地址,語法為“$a=&$b”;3、計(jì)數(shù)賦值,PHP和JavaScript中的對象默認(rèn)傳值方式都是采用計(jì)數(shù)賦值的。
本文操作環(huán)境:Windows10系統(tǒng)、PHP8.1版、Dell G3電腦
傳值賦值:
php變量其實(shí)就是一個(gè)地址的別名而已,如同$a就是一個(gè)內(nèi)存中的地址的別名,比如是0x000011,$b就是另一個(gè)地址,$a = $b就是把0x000011地址內(nèi)存里的數(shù)據(jù)取出來放到$b所指向的地址中,當(dāng)unset一個(gè)變量以后,就會(huì)把這個(gè)變量名和地址之間的聯(lián)系斷掉,此時(shí)操作系統(tǒng)就會(huì)執(zhí)行垃圾回收,把這個(gè)地址的數(shù)據(jù)清理掉。
引用賦值:
php的引用賦值就是把另一個(gè)變量和當(dāng)前的變量指向同一個(gè)地址,當(dāng)修改兩個(gè)變量中的任何一個(gè)數(shù)值的時(shí)候都會(huì)造成兩個(gè)數(shù)據(jù)的變化。
計(jì)數(shù)賦值:
和Javascript一樣,對象都是采用計(jì)數(shù)賦值的,當(dāng)$a = new object()以后,就會(huì)在棧上開一個(gè)變量$a,此時(shí)的$a的值是一個(gè)地址,指向堆上的一塊內(nèi)存,這塊內(nèi)存上邊是這個(gè)對象的一個(gè)實(shí)例,當(dāng)$b = $a以后就會(huì)使得$b中的值也是堆得內(nèi)存的地址。此時(shí)如果你unset掉$a以后,只是把棧上的$a清理掉而已,堆上的內(nèi)存依然存在,只有你把$b也unset掉,才會(huì)使得$a和$b都沒辦法指向到這個(gè)對象,此時(shí)這個(gè)對象就沒有辦法得到,在c語言里這個(gè)叫做內(nèi)存泄露,在Java和C#里都有自動(dòng)垃圾回收機(jī)制,這個(gè)泄露的內(nèi)存都會(huì)被自動(dòng)回收,php也是一樣,也會(huì)在沒有變量指向這個(gè)堆上的內(nèi)存以后就會(huì)被自動(dòng)回收掉。
1、傳值賦值,例如$a=1,$b=$a等;
2、引用賦值,例如$a=&$b,即$a和$b在都指向了內(nèi)存中的同一個(gè)存儲(chǔ)變量值得地址;
3、引用計(jì)數(shù)傳值,在php和js中的對象都是默認(rèn)的傳值方式都是引用計(jì)數(shù)傳值,例子如下:
<?php class Dog{ public $name="小花"; public $leg=4; } $a=new Dog;//此時(shí),$a指向了內(nèi)存中的一個(gè)地址(假設(shè)0XFFAD[1]),該地址又指向最終對象的值 $b=$a;//此時(shí),$b和$a都指向了內(nèi)存中的另一個(gè)地址(0XFFAD[2]),該地址又指向最終對象的值 var_dump($b->leg);//結(jié)果是int 4 $b=999; var_dump($b);//結(jié)果是int 999; var_dump($a);//此時(shí)的結(jié)果不是int 999,而是object(Dog)[1]
知識(shí)擴(kuò)展:
這三種賦值方式分別在什么場合下出現(xiàn)呢?
傳值賦值一般在普通的原子變量以及數(shù)組時(shí)候就是傳值賦值,引用賦值在你加上&作用符的時(shí)候就會(huì)生效,計(jì)數(shù)賦值在php中在資源文件和對象中存在。
什么是變量
變量通俗的來說是一種容器。根據(jù)變量類型不同,容器的大小不一樣,自然能存放的數(shù)據(jù)大小也不相同。在變量中存放的數(shù)據(jù),我們稱之為變量值。
PHP 中的變量用一個(gè)美元符號后面跟變量名來表示。變量名是區(qū)分大小寫的。在PHP中變量的命名規(guī)則通常是以字母或下劃線開頭,由字母、數(shù)字、下劃線組成。變量名通常由聲明變量所代表意義的英文單詞組成。單詞與單詞之間通過_分隔,或者第一個(gè)單詞首字母小寫,之后每個(gè)單詞首字母大寫。這種命名方式我們稱之為駝峰命名法。良好的命名規(guī)范有助于提高我們代碼的可讀性。
<?php $name = '屋脊貓'; $_age = 1; $sex = '男'; echo "姓名:{$name},年齡:{$_age}, 性別:{$sex}"; $1sex = '男'; // 錯(cuò)誤,不能以數(shù)字開頭 ?>
變量的初始化是給變量設(shè)置一個(gè)默認(rèn)值(或者是需要的值),初始化的過程中PHP會(huì)給變量分配存儲(chǔ)空間以及將變量值所在存儲(chǔ)空間地址保存在變量中。
到此,關(guān)于“php變量賦值的方法有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
新聞名稱:php變量賦值的方法有哪些
文章出自:http://jinyejixie.com/article2/ghhpoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號、營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)