這篇文章主要介紹了PHP怎么動態(tài)設(shè)置變量的名稱,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
站在用戶的角度思考問題,與客戶深入溝通,找到韓城網(wǎng)站設(shè)計與韓城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋韓城地區(qū)。
示例:
<?php $str='trans'; //聲明變量$str $trans='hello!'; //聲明變量$trans echo $str; //輸出變量$str echo "<br/>"; echo $$str; //通過可變變量輸出$trans的值 ?>
可以看出,我們定義兩個變量$str
和$trans
,首先輸出變量$str
的值,然后使用可變變量來改變變量$str
的名稱,輸出改變名稱后的變量值??纯摧敵鼋Y(jié)果:
trans hello!
那么具體什么是可變變量呢?
所謂“可變變量”,就是一個變量以另外一個變量的值作為變量名。利用這一特性我們可以動態(tài)的設(shè)置和使用一個變量的變量名。例如,我們可以設(shè)置$tireqty
的值:
$varname = 'tireqty';
于是,我們就可以用varname
取代$tireqty
。例如,我們可以設(shè)置$tireqty
的值:
varname = 5;
這個代碼等價于:
$tireqty = 5;
而聲明可變變量的方法非常簡單,只需要在變量名前加上至少兩個“$
”符號即可。
<?php $demo = 'string'; $$demo = 'hello!'; echo $string; ?>
輸出結(jié)果:
hello!
利用可變變量可以動態(tài)設(shè)置變量名稱的特性,我們可以將可變變量應(yīng)用在表單處理中。
在使用表單獲取數(shù)據(jù)時,往往不會只有一個數(shù)據(jù)
<form action="test.php" method="post"> <table border="0"> <tr bgcolor="#cccccc"> <td width="150">Item</td> <td width="15">Quantity</td> </tr> <tr> <td>Tires</td> <td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td> </tr> <tr> <td>Oil</td> <td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td> </tr> <tr> <td>Spark Plugs</td> <td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Submit Order" /></td> </tr> </table> </form>
因此處理表單數(shù)據(jù)時,也不會只有一個表單變量。而傳統(tǒng)的中規(guī)中矩的寫法是下面這樣的,表單變量越多,賦值語句將會很長。
<?php $oilqty = $_POST['oilqty']; $tireqty = $_POST['tireqty']; $sparkqty = $_POST['sparkqty']; echo "<p>Your order is as follows:</p>"; echo "<br />\$oilqty=".$oilqty; echo "<br />\$tireqty=".$tireqty; echo "<br />\$sparkqty=".$sparkqty; ?>
我們利用可變變量來優(yōu)化,使用一個循環(huán)語句和一個變量來自動處理它們
<?php foreach ($_POST as $key => $value) { $$key = $value; } echo "<p>Your order is as follows:</p>"; echo "<br />\$oilqty=".$oilqty; echo "<br />\$tireqty=".$tireqty; echo "<br />\$sparkqty=".$sparkqty; ?>
代碼是不是簡潔了不少!
可變變量也可以用于數(shù)組。
<?php $demo = 'hello'; $test = 'world'; $arr = array('demo', 'test'); echo ${$arr[0]}.'<br>'.${$arr[1]}.'<br>'; ?>
輸出結(jié)果:
hello world
分析:${$arr[0]}
和${$arr[1]}
為什么中間要用“{ }
”將數(shù)組變量包裹住呢?
因為,如果你寫下 $$a[1]
時,解析器需要知道你是想要 $a[1]
作為一個變量呢,還是想要把$$a
當(dāng)成變量、[1]
指的是這個變量的索引。
解決這個問題的語法是使用“{ }”將變量包裹,對應(yīng)的語法是:第一種情況使用${$a[1]}
,第二種情況使用${$a}[1]
。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PHP怎么動態(tài)設(shè)置變量的名稱”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
文章名稱:PHP怎么動態(tài)設(shè)置變量的名稱
轉(zhuǎn)載源于:http://jinyejixie.com/article20/ppehjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、域名注冊、品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)