我想在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