PHP如何對(duì)變量進(jìn)行初始化和初始化?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到二七網(wǎng)站設(shè)計(jì)與二七網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋二七地區(qū)。
什么是變量
變量通俗的來(lái)說(shuō)是一種容器。根據(jù)變量類型不同,容器的大小不一樣,自然能存放的數(shù)據(jù)大小也不相同。在變量中存放的數(shù)據(jù),我們稱之為變量值。
PHP 中的變量用一個(gè)美元符號(hào)后面跟變量名來(lái)表示。變量名是區(qū)分大小寫的。在PHP中變量的命名規(guī)則通常是以字母或下劃線開(kāi)頭,由字母、數(shù)字、下劃線組成。變量名通常由聲明變量所代表意義的英文單詞組成。單詞與單詞之間通過(guò)_分隔,或者第一個(gè)單詞首字母小寫,之后每個(gè)單詞首字母大寫。這種命名方式我們稱之為駝峰命名法。良好的命名規(guī)范有助于提高我們代碼的可讀性。
<?php $name = '屋脊貓'; $_age = 1; $sex = '男'; echo "姓名:{$name},年齡:{$_age}, 性別:{$sex}"; $1sex = '男'; // 錯(cuò)誤,不能以數(shù)字開(kāi)頭 ?>
變量的初始化
變量的初始化是給變量設(shè)置一個(gè)默認(rèn)值(或者是需要的值),初始化的過(guò)程中PHP會(huì)給變量分配存儲(chǔ)空間以及將變量值所在存儲(chǔ)空間地址保存在變量中。
<?php $a = 1; // 初始化一個(gè)整形變量 ?>
雖然在PHP中不需要初始化變量,但對(duì)變量進(jìn)行初始化是個(gè)好習(xí)慣。未初始化的變量具有其類型的默認(rèn)值
● 布爾類型的變量默認(rèn)值是 FALSE
● 整形和浮點(diǎn)型變量默認(rèn)值是零
● 字符串型變量(例如用于 echo 中)默認(rèn)值是空字符串
● 數(shù)組變量的默認(rèn)值是空數(shù)組
使用未初始化的變量會(huì)發(fā)出 E_NOTICE錯(cuò)誤,但是在向一個(gè)未初始化的數(shù)組附加單元時(shí)不會(huì)。
依賴未初始化的變量的默認(rèn)值在某些情況下會(huì)有問(wèn)題,比如在之后的編碼中我們需要經(jīng)常的將一個(gè)文件通過(guò)include包含到當(dāng)前文件,如果兩個(gè)文件中有相同的變量名,此時(shí)的變量值則不是我們需要的默認(rèn)值了。另外在PHP 5.4.0之前的版本中把 register_globals打開(kāi)是一個(gè)主要的安全隱患。在PHP 5.4.0之后該配置已被移除。
變量的賦值方式
在PHP中有兩種傳值方式,分別為傳值賦值和引用賦值。
1.傳值賦值
傳值賦值是PHP中默認(rèn)的傳值方式。那也就是說(shuō),當(dāng)將一個(gè)表達(dá)式的值賦予一個(gè)變量時(shí),整個(gè)原始表達(dá)式的值被賦值到目標(biāo)變量。這意味著,當(dāng)一個(gè)變量的值賦予另外一個(gè)變量時(shí),改變其中一個(gè)變量的值,將不會(huì)影響到另外一個(gè)變量。如:
<?php $var1 = 1; $var2 = $var1; $var1 = 3; echo $var1; // 3 echo $var2; // 1 ?>
2.引用賦值
引用賦值意味著新的變量簡(jiǎn)單的引用了原始的變量,改變了新的變量的值將影響到原始的變量的值,反之亦然。使用引用賦值,只需簡(jiǎn)單地將一個(gè) & 符號(hào)加到將要賦值的變量前(源變量)如:
<?php $oldVar = 1; $newVar = &$oldVar; $newVar = 2; echo $oldVar; // 2 echo $newVar; // 2 ?>
&符在C語(yǔ)言中稱之為取地址符,變量保存了變量值在內(nèi)存中的存儲(chǔ)地址,通過(guò)取地址符可以將一個(gè)變量保存的變量值的地址賦值給另一個(gè)變量。兩個(gè)變量的值指向了同一個(gè)內(nèi)存地址,所以當(dāng)我們修改其中一個(gè)變量的值時(shí),另一個(gè)變量的值自然而然的隨之被改變。
有一點(diǎn)重要事項(xiàng)必須指出,那就是只有有名字的變量才可以引用賦值。
<?php $foo = 25; $bar = &$foo; // 合法的賦值 $bar = &(24 * 7); // 非法; 引用沒(méi)有名字的表達(dá)式 ?>
在(24*7)這個(gè)表達(dá)式中因?yàn)闆](méi)有保存在變量中,所以沒(méi)有明確的內(nèi)存地址,通過(guò)取地址符去獲取在內(nèi)存中存儲(chǔ)的地址是不可取的。
關(guān)于PHP如何對(duì)變量進(jìn)行初始化和初始化問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
網(wǎng)頁(yè)題目:PHP如何對(duì)變量進(jìn)行初始化和初始化
鏈接URL:http://www.chinadenli.net/article36/jcospg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)網(wǎng)站制作、ChatGPT、App開(kāi)發(fā)、App設(shè)計(jì)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)