如何将数组值添加到数组的中间位置?

22

假设我有以下数组:

$array = array(1,2,'b','c',5,6,7,8,9.10);

在脚本后面,我想在 'c' 之前添加值 'd'。我该怎么做?


可能是重复的问题:在PHP中的任何位置插入数组中的新项 - Michel Ayres
1
@MichelAyres,你链接的那个问题是在这个问题之后发布的。我认为这使他的问题成为我的重复,而不是相反的情况 :P - Citizen
2
这个相关问题的答案比@Citizen提供的更好。 - Michel Ayres
4个回答

32

使用array_splice函数如下:

array_splice($array, 3, 0, array('d'));

2

0
或者是一个更自制的方法:循环数组,直到看到'd',然后插入'c',接着在下一个位置插入'd'。将所有其他条目向右移动一个位置。

0
市民提出的问题的复杂答案是:
$array = array('Hello', 'world!', 'How', 'are', 'You', 'Buddy?');
$element = '-- inserted --';
if (count($array) == 1)
{
    return $string;
}
$middle = ceil(count($array) / 2);
array_splice($array, $middle, 0, $element);

将输出:

Array
(
    [0] => Hello
    [1] => world!
    [2] => How
    [3] => -- inserted --
    [4] => are
    [5] => You
    [6] => Buddy?
)

这就是他想要的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接