2010-01-27 97 views
21

可以说我有此数组:如何将数组值添加到数组的中间?

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

在剧本之后,我想之前“c”来添加值“d”。我怎样才能做到这一点?

+0

[在PHP中的任何位置插入数组中的新项目](http://stackoverflow.com/questions/3797239/insert-new-item-in-array-on-any-position-in-php ) – 2014-09-04 17:18:17

+1

@MichelAyres您链接的问题在此之后发布。我认为这使他成为我的副本,而不是相反:P – Citizen 2014-09-04 18:19:01

+2

链接的问题比这个@Citizen有更好的答案 – 2014-09-04 18:39:32

回答

30

使用array_splice如下:

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

或更自制方法:循环数组,直到看到“D”插入下一个“C”,那么“d” 。按住Shift键的所有其他项权由一个

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? 
) 

所以这就是他想要的东西。