Это способ сделать это, сначала получив элементы массива в строку. Затем вы можете разбить его с помощью регулярного выражения.
Простой способ
<?php
$array = array("abc","def","ghi", "jkl", "mno", "abc", "pqr", "stu", "vwy", "abc");
$string = implode(' ', $array);
$a = preg_split("/[abc]+/", $string);
print_r($a);
Array
(
[0] =>
[1] => def ghi jkl mno
[2] => pqr stu vwy
[3] =>
)
комплекс Way
<?php
$array = array("abc","def","ghi", "jkl", "mno", "abc", "pqr", "stu", "vwy", "abc");
$string = implode(' ', $array);
$a = preg_split("/[abc]+/", $string);
$b = array();
$d = array();
for($i = 0; $i < count($a); $i++) {
if($a[$i] == NULL) continue;
$b[] = $a[$i];
}
for($i = 0; $i < count($b); $i++) {
//echo $b[$i] . PHP_EOL;
$c = explode(' ', $b[$i]);
for($ii = 0; $ii < count($c); $ii++) {
if($c[$ii] == NULL) continue;
$d[$i][] = $c[$ii];
}
}
print_r($d);
выход
Array
(
[0] => Array
(
[0] => def
[1] => ghi
[2] => jkl
[3] => mno
)
[1] => Array
(
[0] => pqr
[1] => stu
[2] => vwy
)
)
Что бы результат? Почему бы не использовать 'foreach'? – zerkms
Что вы имеете в виду с «split the array» Это не строка, так что вы хотите превратить один массив в два или более массивов? Обновите свой пост, чтобы показать, что вы ожидаете от кода. –
http://www.php.net/manual/en/function.array-count-values.php? – iiro