2010-08-27 116 views
3

可能重复:
What's an actual use of variable variables?变量变量:什么时候有用?

OK,这个问题可能看起来有点点whoreish,但我真的很想知道:当是可变的变量有用吗?我已经用PHP编了好几年了,但我从来没有用过它们。对我来说,它看起来很有趣而不是有用的

什么是变量变量的一些真实生活的例子?

更新:

我对你的票真的很抱歉。链接的“重复”可能真的是一个骗局,除了一件事情:这里列出的例子显示我为什么不使用变量。

+0

你看到在这篇文章的评论中使用:http://www.onlineaspect.com/2009/05/31/how-to-use-variable-variables-in-php/ – 2010-08-27 07:11:29

+0

看看这个话题http ://stackoverflow.com/questions/3555057/variable-variables – 2010-08-27 07:21:01

+2

@海恩,阿亚兹,这个问题不是如何使用它们。 – 2010-08-27 07:29:22

回答

7

从不。此功能应该禁止语言以及其他儿童疾病,如register globals,magic quotes等。

+0

我从来没有遇到过一个问题,我发现这个有用。数组看起来总是比没有很好理由的变量名称更加简单和有用。我应该认为这个功能是这种语言的失败吗? – fabrik 2010-08-27 07:44:59

+0

最终使用变量变量是设计不佳的标志。他们只是玩爽:) – alcuadrado 2010-08-27 09:25:58

+0

这将是我第一次downvoted上校Shrapnel职位。但我不同意“永不”这个词 - 变量变量对模板系统很有用。 – 2011-06-17 18:59:39

0

这对于动态设置配置文件很有用。检查PHP and Variable Variables更好的主意。

+0

第一个环节没有什么价值,第二个环节没有价值。 – 2010-08-27 07:39:03

+0

我宁愿使用.ini文件或数组。变量变量看起来不太复杂。 – fabrik 2010-08-27 07:46:29

+0

雅我同意你fabrik。 – ArK 2010-08-27 07:56:32

1

我已经看到它在一些MVC框架中用于初始化View对象中的变量。

foreach ($this->vars as $key => $value) 
{ 
    // some test would be here so there are no conflicts 
    $$key = $value; 
} 

然后,您可以访问模板中的变量。

我不是说这是一个很好的使用,虽然。可能是一个糟糕的设计。

+0

http://php.net/extract – 2010-08-27 09:28:31

+0

提取只是稍微好一些。至少你可以轻易地阻止它覆盖现有的变量。但既然你已经有一个关联数组,你可以使用提取,你应该使用它。 – delnan 2010-08-27 09:48:50

+0

@delnan:这是我对变量变量的最大怀疑:为什么当我可以直接访问(数组)元素时创建新的变量? – fabrik 2010-08-27 09:53:03

相关问题