이 같은 배열이 있습니다PHP 그룹 배열은
Array (
[0] => ing_1_ing
[1] => ing_1_amount
[2] => ing_1_det
[3] => ing_1_meas
[4] => ing_2_ing
[5] => ing_2_amount
[6] => ing_2_det
[7] => 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++;
}
}
에 어떤 문제가 있습니까? 조언 해 줄 수 있니? 거기에 어떤 번호를 확인하고, 최종 배열의 올바른 위치에 넣어
$result = array();
foreach ($firstArray as $value)
{
preg_match('/^ing_(\d+)_/', $value, $matches);
$number = $matches[1];
if (!array_key_exists($number, $result))
$result[$number] = array();
$result[$number][] = $value;
}
는 기본적으로 첫 번째 배열을 반복 : 내가 할 거라고 무엇
간단하게 똑똑! – Pateman