双美元符号的PHP

可能重复:
PHP(美元美元或双倍美元)在PHP中意味着什么?

我发现自己在我的一个控制器中使用了这种代码:

foreach(get_object_vars($this->view) as $property=>$value){
   $$property = $value;
}

使用$$属性将视图属性“本地化”为简单的$变量有什么问题吗?

编辑:

我应该补充说,这段代码是在特定于视图的方法的范围内运行的,所以不会覆盖局部变量。 这是为了让你们中的一些人指出重写局部变量的问题。


PHP中$$的问题是您创建了未知的变量名称,可能会覆盖您已经使用的变量名称。 这是微妙的编程错误的来源,通常不应该使用。


那么,你可以使用extract()函数。 此外,片段: get_object_vars($this->view)表示您应该有一些数组来存储这些变量,而不是一个对象。


不,如果我没有弄错的话,那就是这样做的唯一方法。 虽然我的问题是问你为什么要这样做,而不是使用对象变量。

链接地址: http://www.djcxy.com/p/59101.html

上一篇: Double dollar sign php

下一篇: Are there pointers in php?