Php 如何将数组值保存在foreach循环之外
循环时,我有一个foreach循环,我正在创建一个$data数组,它保存所有值Php 如何将数组值保存在foreach循环之外,php,Php,循环时,我有一个foreach循环,我正在创建一个$data数组,它保存所有值 foreach ($this->arr1['somevalue']['object'] as $record ){ $data_add = array( 'CODE' => $record['CODE'], 'some_key' => $this->arr['somevalue'], 'lines' => count($th
foreach ($this->arr1['somevalue']['object'] as $record ){
$data_add = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
}
var_dump($data_add);
现在,当我说var_dump($data_add)时,我只得到“CODE”键的最后一个值
时间意味着我将有3个值。但我只得到第三个值。第一个和第二个值不显示。
如何获取值。我有一个想法,就是创建一个数组(记录['CODE']),但没有成功。更改:
$data_add = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
致:
试试这个:
foreach ($this->arr1['somevalue']['object'] as $record ){
$data_add[] = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
}
如果修改代码以使
$data\u add
成为数组:
foreach ($this->arr1['somevalue']['object'] as $record ){
$data_add[] = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
}
var_dump($data_add);
这应该可以很好地工作。您遇到的问题是每次迭代都会覆盖$data\u add变量,因此您只保留最后一个,为了获得所有答案,您可以使用数组(如其他人所建议的)@如果不明显,您的代码无法工作,因为您在循环的每次迭代中都覆盖了现有数组$array[]是array\u push的缩写
foreach ($this->arr1['somevalue']['object'] as $record ){
$data_add[] = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
}
var_dump($data_add);