如何将数组分解为更小的数组


How to Break Array into Smaller Arrays?

我需要使用空格等删除器将数组分解为较小的数组,而不是使用一定数量的字符(因此array_chunk不适用于此和这些答案如何将数组分解为指定数量的较小数组? 出于同样的原因无关)。

例:

$array1 = ("One two three","four five six","seven eight nine");

想将"一二三"分成一个数组中的三个元素(使用空格作为deliminator),接下来的两个元素也是如此。这可以分为多维数组也是如此。

php> $array1 = array("One two three","four five six","seven eight nine");
php> =array_map(function($a){return explode(' ',$a);},$array1)
array(
  0 => array(
    0 => "One",
    1 => "two",
    2 => "three",
  ),
  1 => array(
    0 => "four",
    1 => "five",
    2 => "six",
  ),
  2 => array(
    0 => "seven",
    1 => "eight",
    2 => "nine",
  ),
)

匿名函数可以更改为您认为合适的任何功能。正则表达式,随便。

编辑 根据您的评论:

php> $array1 = array("One two three","four five,six","seven,eight nine");
php> =array_map(function($a){return preg_split('/[ ,]/',$a);},$array1)
array(
  0 => array(
    0 => "One",
    1 => "two",
    2 => "three",
  ),
  1 => array(
    0 => "four",
    1 => "five",
    2 => "six",
  ),
  2 => array(
    0 => "seven",
    1 => "eight",
    2 => "nine",
  ),
)