Array_slice()在嵌套数组上无法正常工作

问题描述 投票:-1回答:2

所以,我正在设计一个可以通过扩展运算符(...$arg)接受多个参数的函数

但它也可以采用简单的输入数组。我想用array方法访问array_slice()的第一个元素,但是它不能按预期方式工作:

    // This is what the spread argument passes into the function if it gets a single array
    $arg = [
      ['value1', 'value2', 'valueN'],  
    ];

    // Accessing first element via array_slice:
    var_export( array_slice($arg, 0, 1) );

预期结果:

     array (
       0 => 'value1',
       1 => 'value2',
       2 => 'valueN',
     )

结果基本上等于输入数组:

    array (
      0 => 
      array (
        0 => 'value1',
        1 => 'value2',
        2 => 'valueN',
      ),
    )

[我知道我可以简单地访问0th元素($arg[0])以获取第一项,但我很好奇array_slice()不能按预期工作的原因。我在这里想念什么?

php arrays multidimensional-array slice
2个回答
0
投票
print_r(array_shift($arg));

输出:

array (
       0 => 'value1',
       1 => 'value2',
       2 => 'valueN',
     )
© www.soinside.com 2019 - 2024. All rights reserved.