变量变量坏的做法使用?

时间:2013-06-27 13:04:21

标签: php arrays variable-variables

我刚刚阅读了帖子is it bad practice to use variable variables in php in the following fashion?,解释了为什么它们不适合用于类,但我必须创建要排序的动态变量

例如:

$array =
array(
 array("Line 1","Line 2","Line 3"),
 array("Line 1","Line 2","Line 3"),
 array("Line 1","Line 2","Line 3"),
)
$i = 1;
foreach($array as $item){
 $string = "Item".$i;
 $$string = $item[0]."some code".$item[1]."some code".$item[2]."some code";
}

我知道每个辅助阵列中只有3个数组值,并且只有3个数组。

有没有办法使用“更好的练习”代码实现这一目标?还是一种我忽略的简单方法?

感谢您提前的时间

1 个答案:

答案 0 :(得分:3)

这应该做得很好:

$newArray = array_map(function (array $item) {
    return $item[0]."some code".$item[1]."some code".$item[2]."some code";
}, $array);

var_dump($newArray);

我根本看不到需要单独变量的地方。

如果您只是动态地对变量进行连续编号($item1$item2等),那么您将尝试保留动态数量的元素。这正是数组的用途:$items[0]$items[1]等。