Php 如何将数组值保存在foreach循环之外

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循环,我正在创建一个$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个值。但我只得到第三个值。第一个和第二个值不显示。 如何获取值。我有一个想法,就是创建一个数组(记录['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);