PHP三维数组,若第二个元素不同,则重置键


PHP three dimensional array, reset key if second element different

假设我有这个print_r输出,这是动态的,不同于每个条件

Array
(
    [2] => Array
        (
            [1] => 24
            [2] => 23,25
        )
    [3] => Array
        (
            [3] => 27
            [4] => 27,26
            [5] => 28,27,26
        )
)

正如您所看到的,数组元素[3][3][4][5]开始,如果第二个元素不相同,它如何使它从[1][2]...[n]开始。

理想情况下,我正在寻找类似的东西

Array
(
    [2] => Array
        (
            [1] => 24
            [2] => 23,25
        )
    [3] => Array
        (
            [1] => 27
            [2] => 27,26
            [3] => 28,27,26
        )
)

我该如何做到这一点?感谢

array_values返回具有新数字索引的数组的值:

foreach($a as $k => $v) {
  $a[$k] = array_values($v);
}

如果您只想重新索引某些子数组,请添加条件。


功能方法:

$a = array_map(function($v) {
  return array_values($v);
}, $a);