我的PHP中有一个数组,我要迭代两次,每次都做不同的事情。该数组称为$data
我有两个像这样的前臂循环:
foreach($data as $item){
//doing stuff
}
foreach($data as $item){
//doing different stuff
}
我不能组合2,因为应用程序就是这样,但我想在第一次迭代中将数据移动到$data数组中,这将出现在第二次迭代中。我唯一能想到的就是下面。例如
foreach($data as $item){
$data[]['new key']='my new data';
}
foreach($data as $item){
var_dump($item['new key']);//print 'my new data'
}
有更好的方法吗?
听起来您想通过REFERENCE传递数组
这意味着您将数组视为指向$data
数组的指针,而不是典型的数组(副本)
这与使用对象(不是副本,而是实例本身)的方式类似。
您可以使用实现此功能
foreach($data as &$item){
$item['new var'] ='my new data';
}
foreach($data as $item){
var_dump($item['new key']);//print 'my new data'
}
希望对有所帮助