Имеется массив полей формы, где каждое поле представлено в виде уникального подмассива:
Array
(
[0] => Array
(
[name] => field1
[value] => гендир
)
[1] => Array
(
[name] => field2
[value] => Виктор
)
[2] => Array
(
[name] => field1
[value] => секретарь
)
[3] => Array
(
[name] => field2
[value] => Юлия
)
[4] => Array
(
[name] => field1
[value] => дворник
)
[5] => Array
(
[name] => field2
[value] => Вася
)
)
Необходимо получить следующий массив:
Array
(
[0] => Array
(
[0] => Array
(
[name] => field1
[value] => гендир
)
[1] => Array
(
[name] => field2
[value] => Виктор
)
)
[1] => Array
(
[0] => Array
(
[name] => field1
[value] => секретарь
)
[1] => Array
(
[name] => field2
[value] => Юлия
)
)
[2] => Array
(
[0] => Array
(
[name] => field1
[value] => дворник
)
[1] => Array
(
[name] => field2
[value] => Вася
)
)
)
Для получения желаемого результата вам следует реализовать цикл, в котором проверять имя поля. И когда оно равно field1
следует переключать индекс результирующего массива.
$result = [];
$idx = 0;
foreach($data as $d){
if($d['name'] == "field1"){
$idx++;
$v = [];
}
$result[$idx][] = $d;
}
С другой стороны, возможно вам будет удобнее несколько иной результат группировки:
[1] => Array (
[field1] => гендир
[field2] => Виктор
)
[2] => Array (
[field1] => секретарь
[field2] => Юлия
)
[3] => Array (
[field1] => дворник
[field2] => Вася
)
что получается при замене основной рабочей строки цикла на
$result[$idx][$d['name']] = $d['value'];
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Поставил CMake (без CLang), добавил в переменную path путь к cmake-39