php中變量初始化和賦值方法-創(chuàng)新互聯(lián)

什么是變量

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比鐵山港網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式鐵山港網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鐵山港地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。

通俗的來(lái)說(shuō)變量是一種容器。根據(jù)變量類(lèi)型不同,容器的大小不一樣,自然能存放的數(shù)據(jù)大小也不相同。在變量中存放的數(shù)據(jù),我們稱(chēng)之為變量值。

PHP 中的變量用一個(gè)美元符號(hào)后面跟變量名來(lái)表示。變量名是區(qū)分大小寫(xiě)的。在PHP中變量的命名規(guī)則通常是以字母或下劃線(xiàn)開(kāi)頭,由字母、數(shù)字、下劃線(xiàn)組成。變量名通常由聲明變量所代表意義的英文單詞組成。單詞與單詞之間通過(guò)_分隔,或者第一個(gè)單詞首字母小寫(xiě),之后每個(gè)單詞首字母大寫(xiě)。

這種命名方式我們稱(chēng)之為駝峰命名法。良好的命名規(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í)慣。未初始化的變量具有其類(lèi)型的默認(rèn)值

● 布爾類(lèi)型的變量默認(rèn)值是 FALSE

● 整形和浮點(diǎn)型變量默認(rèn)值是零

● 字符串型變量(例如用于 echo 中)默認(rèn)值是空字符串

● 數(shù)組變量的默認(rèn)值是空數(shù)組

使用未初始化的變量會(huì)發(fā)出 E_NOTICE錯(cuò)誤,但是在向一個(gè)未初始化的數(shù)組附加單元時(shí)不會(huì)。

依賴(lài)未初始化的變量的默認(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ǔ)言中稱(chēng)之為取地址符,變量保存了變量值在內(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中變量的初始化以及賦值方式的介紹的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司其它相關(guān)文章!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:php中變量初始化和賦值方法-創(chuàng)新互聯(lián)
瀏覽地址:http://muchs.cn/article14/cosdde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、虛擬主機(jī)品牌網(wǎng)站建設(shè)、微信小程序建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)