我想在PHP中建立一個動態變量,儘管在這個問題上已經看到了StackOverflow上的一些問題,我仍然難住...:/如何使用PHP構建動態變量?
變量變量是我的東西從來沒有完全理解 - 希望這裏的某個人能指引我走向正確的方向。 :)
$data['query']->section[${$child['id']}]->subsection[${$grandchild['id']}]->page[${$greatgrandchild['id']}] = "Fluffy Rabbit";
Onviously以上不工作,但如果我硬編碼一個變量,例如:
$data['query']->section[0]->subsection[3]->page[6] = "Very Fluffy Rabbit";
...那麼一切都很好,所以很明顯我不能建立我的動態變量正確。有任何想法嗎?
UPDATE:
嗯,確定我應該指出,這些不是在陣列中的鍵 - 我使用被指定爲每個節點的屬性的ID尋址在XML節點,所以XML具有以下結構:
<subtitles>
<section id="0">
<subsection id="0">
<page id="1">My content that I want to write</page>
<page id="2">My content that I want to write</page>
<page id="3">My content that I want to write</page>
</subsection>
</section>
</subtitles>
希望這有助於更好地解釋事情。 :)
變量變量是邪惡的,應該避免。特別是在你的情況下,即使你在寫作時也無法弄清楚......想象一下,在需要修復一個bug時,弄清楚一年發生了什麼是多麼困難。編寫可讀代碼。寫簡單的代碼... – ircmaxell 2010-11-02 13:12:51
@ircmaxell它可以簡化代碼,甚至使其更具可讀性。例如,想象一個工廠,巨大的開關(創建幾十個類),而不是這段代碼:'factory($ class_name){return new $ class_name()}' – 2010-11-02 13:22:06
@Itay Moav:在這種情況下,您的應用程序將如果添加一個不存在的$ class_name,就會死亡。 – 2010-11-02 13:28:02