我想逐步浏览PHP数组并为其中的每个条目创建一个变量。我的数组( $ array )如下所示:
Array
(
[0] => Array
(
[first_name] => Arthur
[last_name] => Dent
[planet] => Earth
)
[1] => Array
(
[first_name] => Ford
[last_name] => Prefect
[planet] => Betelgeuse
)
)
我有以下内容:
$0_first_name = $array['0']['first_name'];
$0_last_name = $array['0']['last_name'];
但是这非常耗时,并且意味着我需要显式声明每一个,然后不允许在每个级别的数组中添加额外的条目。
我想知道这样做的最佳方式是什么。
感谢您的帮助
麦克
答案 0 :(得分:0)
这样的事情应该做我认为你想做的事。
$data=array(
array('first_name'=>'Arthur','last_name'=>'Dent','planet'=>'Earth'),
array('first_name'=>'Ford','last_name'=>'Prefect','planet'=>'Betelgeuse')
);
foreach( $data as $i => $arr ){
foreach( $arr as $key => $value ){
${$key.$i}=$value;
${$i.'_'.$key}=$value;
}
}
echo $first_name0, $first_name1, ${'0_first_name'};
显然我在名字后面有一个整数但反转它们并且有$0first_name
或$0_first_name
之类的东西是微不足道的 - 但是在输出它们时需要对它们进行不同的处理 - ${'1_first_name'}
等 - 再次,正如已经指出的那样 - 不是可维护性的最佳方法,所以现在我将重新思考我在生活中做出的所有错误决定。