Зацикливание многомерного массива - PullRequest
0 голосов
/ 26 января 2019

Я столкнулся с такого рода массивом в моих задачах.Это многомерный массив.В форме, у меня есть это,

конкретный [конкретный] []
конкретный [процент] []
конкретный [замечания] []

Итак, что я делаю, я получаю запрос

$ input = $ request-> all ();

это возвращает

 array:3 [▼
    "particular" => array:3 [▶]
    "percentage" => array:3 [▶]
    "remarks" => array:3 [▶]
 ]

внутри, у каждого из них есть

 array:3 [▼
     "particular" => array:3 [▼
         0 => "11"
         1 => "22"
         2 => "33"
     ] 
     "percentage" => array:3 [▼
         0 => "11"
         1 => "22"
         2 => "33"
     ]
     "remarks" => array:3 [▼
         0 => "na1"
         1 => "na2"
         2 => "na3"
      ]
 ]

Я пытался зациклить его

foreach ($inputs as $input) {
     dd($input);
}

, но я получаю только первый "конкретный" => массив: 3 [▶]

Я хочу сохранить это значение в базе данных

 $particular = new Particular;
 $particular->particular = particular;
 $particular->percentage = percentage;
 $particular->remarks = remarks;
 $particular->save();

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Мне удалось найти решение.Я не знаю, правильно ли это, но пока это работает для меня.

    $array1 = $request->particular;
    $array2 = $request->percentage;
    $array3 = $request->remarks;

    $merge = [$array1, $array2, $array3];

    foreach ($merge[0] as $key => $value) {
        $particular = new Particular;
        $particular->particular = $merge[0][$key];
        foreach ($merge[1] as $x => $y) {
            $particular->percentage = $merge[1][$key];

        }
        foreach ($merge[2] as $i => $d) {
            $particular->remarks = $merge[2][$key];

        }
        $particular->report_id = $report->id;
        $particular->save();
    }
0 голосов
/ 26 января 2019

dd означает «dump and DIE», поэтому ваш скрипт умирает на первой итерации.

Вы можете:

$particular = new Particular;
$particular->particular = $inputs['particular'];
$particular->percentage = $inputs['percentage'];
$particular->remarks = $inputs['remarks'];
$particular->save();

Кроме того, если вам нужно что-то сбросить - есть функция dump (сюрприз!):

foreach ($inputs as $input) {
    dump($input);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...