Как добавить два массива в один как многомерный в php - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть форма Laravel, и есть столбец "qty", если мы введем больше, чем 1 кол-во, чем то число раз, когда одни и те же данные будут введены.для этого я хочу объединить данные в массив для вставки одновременно.ниже приведены коды:

$code  = time();
        $array = array();
        for ($qty = 0; $qty < $e->qty; $qty++) {
            $array = array_push($array, array(
                'coupon_code'   => $code + $qty,
                'amount'        => $e->amount,
                'expiry_date'   => $e->expiry_date,
                'assigned_to'   => $e->user_id,
                'assigned_date' => date('Y-m-d'),
                'created_by'    => session('admin_id'),
            ));
        }
DB::table('coupons')->insert($array);

Но нажатие массива приводит к ошибке

array_push () ожидает, что параметром 1 будет массив, int учитывая

Как я могу сделать его многомерным массивом?

Ответы [ 2 ]

1 голос
/ 28 сентября 2019

просто используйте так:

array_push($array, array(
            'coupon_code'   => $code + $qty,
            'amount'        => $e->amount,
            'expiry_date'   => $e->expiry_date,
            'assigned_to'   => $e->user_id,
            'assigned_date' => date('Y-m-d'),
            'created_by'    => session('admin_id'),
        ));
1 голос
/ 28 сентября 2019

array_push() определяется как ...

array_push (array & $ array [, mixed $ ...]): int

поэтому возвращаемое значение является целым ...

Возвращает новое количество элементов в массиве.

Поэтому, когда вы вызываете его в ...

$array = array_push($array, array(

$array будет установлен на количество элементов в массиве, вы должны изменить его на ...

array_push($array, array(
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...