Разбить массив на основе результата проверки элемента

У меня есть массив в PHP, как показано ниже:

`

Array (
[0] => Array
(
[0] => Some text
[1] => 6230.C3
)
[1] => Array
(
[0] => Some text
[1] => 6230.C3
)
[2] => Array
(
[0] =>
[1] =>
)
[3] => Array
(
[0] => Some text
[1] =>
)
[4] => Array
(
[0] => Some text
[1] =>
)
[5] => Array
(
[0] => Some text
[1] =>
)
[6] => Array
(
[0] =>
[1] =>
)
[7] => Array
(
[0] => Some text
[1] =>
)
[8] => Array
(
[0] => Some text
[1] =>
)
)

`

Array [2] и Array [6] являются пустыми массивами. Пожалуйста, помогите мне разделить мой массив на три массива array1, array2, array3, как показано ниже (разбить в позиции Array [2] и Array [6]).

array1 = [ Array[0], Array[1] ]
array2 = [ Array[3], Array[4], Array[5] ]
Aarray3 = [ Array[7], Array[8] ]

Спасибо за помощь.

0

Решение

Это немного более гибко, чем ваш первоначальный вопрос, потому что он не ограничен ровно 3 массивами в качестве отдельных переменных. Результатом следующего будет многомерный массив, разбитый так, как вы хотите, но для неограниченного количества разбиений. Я могу переработать его, если необходимо, чтобы он соответствовал точно трем переменным, если это действительно то, что вы всегда будете делать.

<?php
$final = array();
$counter = 0;
$outerEmpty = false;
foreach($originalArray as $outer) {
$innerEmpty = true;
foreach($outer as $inner) {
if (!empty($inner)) {
$innerEmpty = false;
break;
}
}
if (!$innerEmpty)
$final[$counter][] = $outer;
else
$counter++;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector