我循环时有一个foreach循环,我正在创建一个包含所有值的$ data数组
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次 这意味着我将有3个值。但是我只得到第三个值。第一个值和第二个值都没有显示。 我如何获得这些值。我有一个想法,即创建一个数组(记录['CODE']),但没有成功。
答案 0 :(得分:3)
变化:
$data_add = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
为:
$data_add[] = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
答案 1 :(得分:0)
试试这个:
foreach ($this->arr1['somevalue']['object'] as $record ){
$data_add[] = array(
'CODE' => $record['CODE'],
'some_key' => $this->arr['somevalue'],
'lines' => count($this->arr['somevalue']['object'])
);
}
答案 2 :(得分:0)
如果您修改代码以使$data_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);
这应该可以正常工作。
答案 3 :(得分:0)
你遇到的问题是你每次迭代都要覆盖$ data_add变量,因此你只保留最后一个,以获得你可以使用数组的所有答案(正如其他人所建议的那样)