PHP:将数组拆分为更深的数组

PHP:将数组拆分为更深的数组,php,arrays,foreach,Php,Arrays,Foreach,我有以下数组: Array( [0] => 0,0 [1] => 0,1 [2] => 0,2 [3] => 0,3 [4] => 1,0 [5] => 1,1 [6] => 1,2 [7] => 2,0 [8] => 2,1 [9] => 2,2 [10] => 2,3 ) 我想将其分为以下结构: Array( [0] => Array (

我有以下数组:

Array(
   [0] => 0,0
   [1] => 0,1
   [2] => 0,2
   [3] => 0,3
   [4] => 1,0
   [5] => 1,1
   [6] => 1,2
   [7] => 2,0
   [8] => 2,1
   [9] => 2,2
   [10] => 2,3 
)
我想将其分为以下结构:

Array( 

[0] => Array (
        [0] => 0
        [1] => 1
        [2] => 2
        [3] => 3
    )
[1] => Array (
        [0] => 0
        [1] => 1
        [2] => 2
        [3] => 3
    )
[2] => Array (
        [0] => 0
        [1] => 1
        [2] => 2
        [3] => 3
    )
[3] => Array (
        [0] => 0
        [1] => 1
        [2] => 2
        [3] => 3 
)
i、 例如,在“X,Y”值中,X对应于值“Y”在新数组中的位置。我似乎无法理解逻辑,这是我第一次以这种方式使用“foreach”


如果您能为我指明正确的方向,我们将不胜感激。

您示例中的输入和输出数组并不完全匹配,但我猜您正在寻找以下内容:

$array = array(…as above…);
$newArray = array();

foreach ($array as $value) {
    list($x, $y) = explode(',', $value);
    $newArray[$x][] = $y;
}

您的示例中的输入和输出数组并不完全匹配,但我猜您正在寻找以下内容:

$array = array(…as above…);
$newArray = array();

foreach ($array as $value) {
    list($x, $y) = explode(',', $value);
    $newArray[$x][] = $y;
}

第二个代码块与第一个代码块没有关系。你能举一个输入输出的例子吗?你的第二个代码块和第一个代码块没有关系。你能举一个输入输出的例子吗?这可以通过将$value作为实际数组元素的引用传递到循环中来提高内存效率:foreach($array as&$value){/…}@Techpriester现在这是一些微优化,如果我见过的话o) @deceze:你比5分钟还快,所以它不允许我这么做haha@deceze:当然,这不多,但我在每个允许它的foreach循环中都这样做。过了一段时间,它变成了一种非常有用的习惯,当你真正需要它时,你不会忘记它通过将$value作为对实际数组元素的引用传递到循环中,可以提高内存效率:foreach($array as&$value){/…}@Techpriester现在,如果我见过一些,这是一些微优化:o) @deceze:你比5分钟还快,所以它不允许我这么做haha@deceze:当然,这不多,但我在每个允许它的foreach循环中都这样做。过了一段时间,它变成了一种非常有用的习惯,当你真正需要它时,你不会忘记它