Я пытаюсь вставить массивы в другой массив, проблема в том, что когда я вызываю метод array_push(), он перезаписывает последний один элемент моего массива, тогда я просто получаю массив с данными одного массива (последний):
$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}
Что происходит не так?
Это было так,
$person['nombre'][$i] = $result[$i]['nombre'];
$person['apellido'][$i] = $result[$i]['apellido'];
^ you have missed this index.
Тогда нет необходимости в array_push()
. вы можете напрямую назначать persons
user_data
Или вот так:
for ($i = 0; $i < $resultSize; $i++) {
$users_data['nombre'][] = $result[$i]['nombre'];
$users_data['apellido'][] = $result[$i]['apellido'];
};