所以,我正在设计一个可以通过扩展运算符(...$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()
不能按预期工作的原因。我在这里想念什么?
print_r(array_shift($arg));
输出:
array (
0 => 'value1',
1 => 'value2',
2 => 'valueN',
)