【问题标题】: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”。我该怎么做?

【问题讨论】:

  • @MichelAyres 您链接到的问题是在此问题之后发布的。我认为这使他成为我的副本,而不是相反:P
  • 链接的问题比这个@Citizen有更好的答案

标签: php


【解决方案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】:

      【讨论】:

        【解决方案4】:

        如下使用array_splice

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

        【讨论】:

          猜你喜欢
          • 2011-01-10
          • 2021-09-13
          • 1970-01-01
          • 2016-07-22
          • 1970-01-01
          • 1970-01-01
          • 2016-10-15
          • 2018-11-01
          • 1970-01-01
          相关资源
          最近更新 更多