如何使用这组项创建动态数组

时间:2011-07-05 14:58:38

标签: php

array(3) {
  [0]=>
  array(4) {
    ["Field1"]=>
    string(8) "80000007"
    ["Field2"]=>
    string(16) "O70000006"
    ["Field3"]=>
    string(0) ""
    ["Field4"]=>12345
    string(0) ""
   }
  [1]=>
  array(4) {
    ["Field1"]=>
    string(8) "80000008"
    ["Field2"]=>
    string(16) "O70000007"
    ["Field3"]=>
    string(0) ""
    ["Field4"]=>78965
    string(0) ""
  }
  [2]=>
   array(4) {
    ["Field1"]=>
    string(8) "80000009"
    ["Field2"]=>
    string(16) "H80000006"
    ["Field3"]=>
    string(0) ""
    ["Field4"]=>12345
    string(0) ""
  }
}

我有上面的数组我希望将这些数组项存储到另一个临时数组中并使用它。这就是我在做什么

 $arr_tmp = array();
foreach ($result['record'] as $key => $value){
                $arr_tmp['Field1'] =  $value['Field1'];
                $arr_tmp['Field2'] =  $value['Field2'];
                $arr_tmp['Field3'] =  $value['Field3'];
                $arr_tmp['Field4'] =  $value['Field4'];
}

当我做v ar_dump($arr_tmp)时。我只获得阵列中的最后一条记录。使用foreach循环时,我需要在$ arr_tmp中使用相同的结果集,以便我可以向此数组添加更多项。

2 个答案:

答案 0 :(得分:3)

您只创建了一个arr_tmp数组,并在每次循环迭代时覆盖这些值。可能你想要这样的东西:

$arr_tmp[] = array('Field1' => $value['Field1'], 'Field2' => $value['Field2'], etc...)

在循环内部。

但是,除非我读错你的原始数组,否则只需用新键重新创建原始数组,这就引出了问题......为什么?这样做会不会更容易:

$arr_tmp = $original_array;

答案 1 :(得分:0)

$arr_tmp = array();
foreach ($result['record'] as $key => $value){
    $cur = array();
    $cur['Field1'] =  $value['Field1'];
    $cur['Field2'] =  $value['Field2'];
    $cur['Field3'] =  $value['Field3'];
    $cur['Field4'] =  $value['Field4'];
    $arr_tmp[] = $cur;
}
相关问题