Как заполнить массив внутри другого массива, перебирая строку?

Коротко: мне нужно создать цикл, который будет заполнять некоторые массивы внутри мастер-массива при итерации строки. (цикл должен «копировать» этот массив на основе rowCount (если он равен 100, то он делает 100 массивов, если он равен 3, то он делает так)

$insertData = array(
array('column_name'=> $obj->{'row1'}->{'column_name'}),
array('column_name'=> $obj->{'row2'}->{'column_name'}),
array('column_name'=> $obj->{'row3'}->{'column_name'}),
);

Долго:

  1. Я создаю строку в JQuery с для зацикливания
  2. Я конвертирую эту строку в JSON
  3. Я посылаю JSON на контроллер Laravel
  4. Контроллер Laravel получает JSON и конвертирует с json_decode($data)
  5. Многократная вставка Laravel использует эту последнюю переменную для вставки всех данных, используя $insertData массив

код уже запущен, но если вручную записать 100 массивов, он сохранит 100 строк, даже если у ajax всего 3 строки, поэтому мне нужна функция, которая создает точное число строк, которые дает ajax.

Я пытаюсь что-то подобное, но это работает и действует как строка, а не как многомерный массив

<?php

function createRow($counter)
{
$array = array(
"colum_name" => "'column_name'=> $ obj->{'row".$counter."'}->{'column_name'}",
);

return $array['colum_name'] . $counter;
}

$insertData = array();

for ($i = 1; $i <= 5; $i++) {
array_push($insertData, createRow($i));
}

print_r($insertData);

и, наконец, несколько вставок Laravel

\App\MyApp::insert($insertData);

0

Решение

Поместите массив в insertData, а не строку, это сделает это работает.

function createRow($counter)
{
array('column_name'=> $obj->{'row' . $counter}->{'column_name'});
}

$insertData = array();
for($i = 1; $i <= 5; $i++){
$insertData[] = createRow($i);
}
print_r($insertData);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector