Как добавить значение массива в середину массива? - PullRequest
22 голосов
/ 27 января 2010

Допустим, у меня есть этот массив:

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

Позже в скрипте я хочу добавить значение «d» перед «c». Как я могу это сделать?

Ответы [ 4 ]

31 голосов
/ 27 января 2010

Используйте array_splice следующим образом:

array_splice($array, 3, 0, array('d'));
3 голосов
/ 27 января 2010
0 голосов
/ 03 августа 2017

Комплексный ответ на вопрос гражданина:

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

Так вот, чего он хочет.

0 голосов
/ 27 января 2010

или более самодельный подход: повторяйте массив, пока не увидите «d», вставьте «c», затем «d» в следующем. Сдвиньте все остальные записи вправо на одну

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...