我正在使用以下代码,这一切似乎都很好。
$colors = array('red', 'yellow', 'blue');
$replacements = array('yellow' => array(1, 1), 'blue' => array('black','orange'));
foreach ($replacements as $color => $replace) {
$position = array_search($color, $colors);
array_splice($colors, $position, 1, $replace);
}
$colors 的结果:
Array
(
[0] => red
[1] => 1
[2] => 1
[3] => black
[4] => orange
)
现在这就是我遇到问题的地方。如果我只是将 $replacements 数组更改为以下内容(注意黄色数组值已更改):
$replacements = array('yellow' => array(0, 1), 'blue' => array('black','orange'));
然后再次运行代码,我得到以下不想要的结果:
Array
(
[0] => red
[1] => black
[2] => orange
[3] => 1
[4] => blue
)
上面的结果不是我所期望的。当传递零 (0) 值时,array_splice 函数似乎存在某种问题。
期望的结果如下:
Array
(
[0] => red
[1] => 0
[2] => 1
[3] => black
[4] => orange
)
任何想法可能会出现什么问题以及如何解决?