我有試圖建構一個變量名時,這個問題 (應該輸出相應的數組元素。)PHP(復)動態變量名施工
我開始設置變量用於測試目的,通常這個片段變量會保存數組$ piece的第一個元素。
$wordnumber = 0;
$piece[0] = "forever";
我稍後在我的問題之前回應他們,看他們是否還好。
echo "$piece[0]";
echo "$wordnumber";
輸出正常。
forever0
但隨後而來的問題,我想作出這樣的自動處理每一個數組元素的功能,所以我希望它每次構建下一個相應的變量。 但是不知何故,施工後它沒有價值。
$name = ${'piece[' . $wordnumber . ']'};
echo "$name";
輸出什麼...
我已經嘗試了很多不同的格式,我真的不知道爲什麼我沒有這麼難在這裏。 該代碼不是任何功能的一部分,現在順便說一句。
更新: $名稱= $片[$ wordnumber]解決了我很好奇,至於爲什麼會如預期我以前的格式不工作的問題 。
更新:問題由André解決,問題是$ piece [0]實際上並不是數組的一部分。所以$ piece是實際的變量。存儲實際數組$ piece = array(「Redish」,「Yellow」,「Green」);在開始時使用全局$ piece;在我的功能中,一切都開始像魅力一樣工作。
可能重複。 PHP變量變量語法不支持數組索引訪問。閱讀我的完整我的答案(與解決方案)在這裏:http://stackoverflow.com/questions/9374292/variable-name-as-variable/9374603#9374603 – Kaii 2012-02-27 18:45:48
看來我沒有足夠好的搜索現有問題只是發現這種格式$ myTempArr [$ key];在[鏈接](http://stackoverflow.com/questions/3235632/dynamic-access-to-a-php-array) 所以我把它改爲$ name = $ piece [$ wordnumber];現在它就像一個永恆的魅力一樣運作。 – Happy 2012-02-27 18:56:19
雖然我的問題仍然存在,爲什麼$ {piece [0]}與我顯然不知何故的構造不起作用。我想我很奇怪。 – Happy 2012-02-27 19:01:10