我通过了帖子 -
php - array_fill negative indices

PHP 肯定没有说明为什么它在 (-ive) start_index 之后从 0 开始,但是,但是,如果我尝试从 array_fill 索引为已经定义了 -2-1 索引的数组的 0 ,原始数组就会消失。

$a = array('-1'=>'harry','0'=>'alex');
$a = array_fill(-2,4,'roger');

print_r($a);

输出
Array ( [-2] => Roger [0] => Roger [1] => Roger [2] => Roger )
$a[-1] 是未定义的偏移错误。 $a[0] 被覆盖到 roger。

有什么解释吗??以及 future 类似情况的工作提示..!!

最佳答案

你可以试试 array_replace

$a = array('-1'=>'harry','0'=>'alex');
$b = array_fill(-2, 4, 'Roger');

$c = array_replace($b, $a);
ksort($c);
print_r($c);

输出
Array
(
    [-2] => Roger
    [-1] => harry
    [0] => alex
    [1] => Roger
    [2] => Roger
)

关于php - 数组索引随着array_fill php消失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16187174/

10-10 09:01