如何在循环中添加数组

时间:2014-03-30 15:21:21

标签: php arrays

我正在尝试在循环中添加一个数组,但只添加了循环中的第一个元素。

数组

array (size=7)
  0 => 
    array (size=2)
      'id' => int 1
      'name' => string 'john' (length=11)
  1 => 
    array (size=2)
      'id' => int 2
      'name' => string 'adam' (length=13)
  2 => 
    array (size=2)
      'id' => int 3
      'name' => string 'mary' (length=11)

我的循环

foreach ($loops as $key => $loop) {
    $idArray['id'] =  $loop['id'];
}
var_dump($idArray); die();

我做错了吗?

2 个答案:

答案 0 :(得分:2)

通过将新值分配给数组来覆盖旧值。数组不能有相同的键。

试试这个:

foreach ($loops as $key => $loop)
{             
    $idArray['id'][] =  $loop['id'];
}
var_dump($idArray); die();

所以你将项目添加到数组中的数组。

答案 1 :(得分:0)

如果您希望$idarray的序数值是您正在迭代的主键值,则可以执行此操作。

$loops = array(array('id' => 1, 'name' => 'john'), /* ... */);

foreach ($loops as $key => $loop)
{             
    $idArray[$loop['id']] =  $loop;
}
var_dump($idArray); die();

var_dump将揭示此结构

array (size=7)
  1 => 
    array (size=2)
      'id' => int 1
      'name' => string 'john' (length=4)
  2 => 
    array (size=2)
      'id' => int 2
      'name' => string 'adam' (length=4)
  3 => 
    array (size=2)
      'id' => int 3
      'name' => string 'mary' (length=4)