Как создать отправить и обработать многомерный массив php

86
10 мая 2021, 04:50

Имеется цикл foreach который выводит таблицу в html и заполняет данными.

foreach($array as $item){
echo '<tr>
  <th scope="row"><input class="w-100 m-0" type="text" name="nm[]" value ="'.$item[0].'" ></th>
  <td class="alert-danger"><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[1].'" ></td>
  <td class="alert-danger"><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[2].'" ></td>
  <td><input class="w-100 m-0" type="text" name ="nm[]" value ="'.@$item[3].'" ></td>
  <td class="alert-danger"><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[4].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[5].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[6].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[7].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[8].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[9].'" ></td>
  <td class="alert-danger"><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[10].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[11].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[12].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[13].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[14].'" ></td>
  <td class="alert-danger"><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[15].'" ></td>
  <td><input class="w-100 m-0" type="text" name="nm[]" value ="'.@$item[16].'" ></td>
</tr>';}

Проблема в том что мне в последующем нужно отправить данные этой таблицы методом POST, обработать их и вернуть обратно в многомерный массив.

При создании многомерного массива , каждый элемент оборачивается в массив, либо так 1, 1+1, 1+1+1..... в общем не выходит сделать.

нужно чтоб вышло $array = ['ar1' => array(1, 2,3,4,5....), 'ar2' => array(1,2,3,4,5...), 'ar3' => array(....) и т.д......]; в зависимотри сколько строчек в таблице где каждый "ar" => array(1-16) это строчка таблицы 'tr'.

Answer 1

Вы можете добавить ключ $index в ваш цикл foreach. Затем для инпутов в атрибут name указывать этот ключ:

foreach($array as $index => $item){
echo '<tr>
  <th scope="row"><input class="w-100 m-0" type="text" name="nm[' . $index . '][]" value ="'.$item[0].'" ></th>
</tr>
}
READ ALSO
MySQL #1292 - Truncated incorrect DOUBLE value

MySQL #1292 - Truncated incorrect DOUBLE value

Обращаюсь к базе с запросом

70
The path does not exist (Eclipse + Java)

The path does not exist (Eclipse + Java)

Версия Ubuntu 1804

245
ArrayList и его тип при наследовании

ArrayList и его тип при наследовании

Задание: Написать программу которая будет иметь классы и они будут наследоватьсяAnimal -> Felling -> Tiger, Lion, Cat

294
Ошибка, Не может найти главный класс

Ошибка, Не может найти главный класс

пишу небольшую программу, столкнулся с такой проблеммой не могу скомпилировать, т к ява не может найти главный класс,погуглил проблему но ничего...

228