Сгруппируйте плоский массив по префиксу значения и заполните индексированный массив индексированными массивами. ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Сгруппируйте плоский массив по префиксу значения и заполните индексированный массив индексированными массивами.

Сообщение Anonymous »

У меня есть такой массив:

Код: Выделить всё

[
'ing_1_ing',
'ing_1_amount',
'ing_1_det',
'ing_1_meas',
'ing_2_ing',
'ing_2_amount',
'ing_2_det',
'ing_2_meas',
]
И я хочу сгруппировать значения в массив следующим образом:

Код: Выделить всё

Array (
[0] => Array(
[0] => ing_1_ing
[1] => ing_1_amount
[2] => ing_1_det
[3] => ing_1_meas
)
[1] => Array(
[0] => ing_2_ing
[1] => ing_2_amount
[2] => ing_2_det
[3] => ing_2_meas
)
)
Может быть много других элементов с таким именем: ing_NUMBER_type
Как мне сгруппировать первый массив так, как я хочу ? Я попробовал это, но по какой-то причине strpos() иногда дает сбой:

Код: Выделить всё

$i = 1;
foreach ($firstArray as $t) {
if (strpos($t, (string)$i)) {
$secondArray[--$i][] = $t;
} else {
$i++;
}
}
Что не так?

Подробнее здесь: https://stackoverflow.com/questions/892 ... dexed-arra

Вернуться в «Php»