PHP Вставить массив в многомерный массив перезаписать

1

Я пытаюсь вставить массивы в другой массив, проблема в том, что когда я вызываю метод 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}

Что происходит не так?

Теги:
arrays

2 ответа

3
Лучший ответ

Это было так,

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

Тогда нет необходимости в array_push(). вы можете напрямую назначать persons user_data

  • 0
    Спасибо !!! Работает отлично !!!
  • 0
    @ LeonardoCavani рассмотрите возможность принятия ответа, если это было полезно.
Показать ещё 2 комментария
0

Или вот так:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню