如何将数组值添加到数组的中间?
Posted
技术标签:
【中文标题】如何将数组值添加到数组的中间?【英文标题】:How to add an array value to the middle of an array? 【发布时间】:2011-01-10 02:11:36 【问题描述】:假设我有这个数组:
$array = array(1,2,'b','c',5,6,7,8,9.10);
稍后在脚本中,我想在“c”之前添加值“d”。我该怎么做?
【问题讨论】:
Insert new item in array on any position in php的可能重复 @MichelAyres 您链接到的问题是在此问题之后发布的。我认为这使他成为我的副本,而不是相反:P 链接的问题比这个@Citizen有更好的答案 【参考方案1】:公民问题的复杂答案是:
$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?
)
这就是他想要的。
【讨论】:
【参考方案2】:或者更自制的方法:循环数组,直到你看到'd'插入'c',然后在下一个中插入'd'。将所有其他条目右移一位
【讨论】:
【参考方案3】:见array_splice
【讨论】:
【参考方案4】:如下使用array_splice
:
array_splice($array, 3, 0, array('d'));
【讨论】:
以上是关于如何将数组值添加到数组的中间?的主要内容,如果未能解决你的问题,请参考以下文章