提问人:fabrik 提问时间:8/27/2010 最后编辑:Communityfabrik 更新时间:5/15/2011 访问量:464
变量:何时有用?[复制]
Variable variables: when useful? [duplicate]
问:
可能的重复:
变量的实际用途是什么?
好吧,这个问题可能看起来有点,但我真的很想知道:变量什么时候有用?我已经用PHP编程好几年了,但我从未使用过它们。对我来说,它看起来很有趣,而不是有用。
变量有哪些现实生活中的例子?
更新:
我真的很抱歉你的选票。链接的“重复”可能真的是一个骗局,除了一件事:那里列出的示例告诉我为什么不使用变量变量。
答:
7赞
Your Common Sense
8/27/2010
#1
从不。此功能应禁止该语言及其其他儿童疾病,例如注册全局、魔术引号等。
评论
0赞
fabrik
8/27/2010
我从来没有遇到过我发现这很有用的问题。数组看起来总是比无缘无故地处理变量名称更简单、更有用。我应该认为这个函数是这种语言的失败吗?
0赞
alcuadrado
8/27/2010
明确使用变量是设计不佳的标志。他们只在玩:)时很酷
0赞
Lotus Notes
6/18/2011
这将是我第一次对弹片上校的帖子投反对票。但我不同意“从不”这个词——变量对于模板系统很有用。
0赞
ArK
8/27/2010
#2
它对于动态设置配置文件很有用。检查 PHP 和变量以获得更好的主意。
评论
0赞
Your Common Sense
8/27/2010
第一个链接没有任何有价值的东西,第二个链接已关闭。
0赞
fabrik
8/27/2010
我宁愿使用 .ini 文件或数组。变量使用起来看起来不必要地复杂。
1赞
8/27/2010
我什至从未考虑过将文件中的 abritary 变量注入到我的代码中......WTF 与关联数组有问题吗?我考虑投反对票,给我一个很好的理由不投反对票。
1赞
Richard Knop
8/27/2010
#3
我已经看到它在某些 MVC 框架中用于初始化 View 对象中的变量。
foreach ($this->vars as $key => $value)
{
// some test would be here so there are no conflicts
$$key = $value;
}
然后,您可以访问模板中的变量。
不过,我并不是说这是一个很好的用途。可能是设计不佳的情况。
评论
0赞
8/27/2010
提取物只是稍微好一点。至少你可以很容易地阻止它覆盖现有的变量。但是,由于当您可以使用提取时,您已经有一个关联数组,因此您应该使用它。
0赞
fabrik
8/27/2010
@delnan:这是我对变量变量的最大疑问:当我可以直接访问(数组)元素时,为什么要创建新变量?
0赞
8/27/2010
@fabrik这正是每个人都“不喜欢”(委婉地说)变量的原因:关联数组从字面上提供了相同的功能(实际上,更多 - 不需要键来形成有效的标识符),但没有所有危险。
0赞
Lotus Notes
6/23/2011
extract
与 @Richard Knop 提到的 foreach 循环完全相同。
评论