2015-11-04 132 views
1

我试图将数组插入到其他数组中,问题是当我调用array_push()方法覆盖数组的最后一个元素时,我只是得到一个数组一个数组(最后一个)的数据:PHP将数组插入到多维数组中被覆盖

$users_data = []; 
    $resultSize = count($result); 

    $data = $result; 

    for ($i = 0; $i < $resultSize; $i++) { 
     $person = [ 
      'nombre'   => $result[$i]['nombre'], 
      'apellido'  => $result[$i]['apellido'], 
     ]; 
     array_push($users_data, $person); 
     // $users_data = $person; I also have tried with this method. 
    }; 

我刚刚收到一个对象与此:

Object {nombre: jane, apellido: doe} 

到底哪里出问题了?

回答

3

它shud是这样的,

$person['nombre'][$i] = $result[$i]['nombre']; 
$person['apellido'][$i] = $result[$i]['apellido']; 
       ^you have missed this index. 

那么没有必要的array_push()。您可以直接分配给personsuser_data

+0

谢谢!它工作完美! –

+0

@LeonardoCavani考虑接受答案,如果它有帮助。 –

+0

我需要8分钟做XD。谢谢 ! –

0

或者这样:

for ($i = 0; $i < $resultSize; $i++) { 
    $users_data['nombre'][] = $result[$i]['nombre']; 
    $users_data['apellido'][] = $result[$i]['apellido']; 
};