Добавить элемент в середину массива

Не о CI, но о PHP, интерфейсах и веб-проограммировании

Добавить элемент в середину массива

Сообщение felix » 03 фев 2010, 00:31

Возможно ли?
Просматривал документацию, искал. Ничего подобного нет. В начало, середину, пожалуйста. А в середину - нет.
Есть массив. Нужно, скажем, добавить после первого элемента значение. Вторым элементом станет то, что добавили, а второй (тот что был до этого) элемент станет третьим, третий четверым и т.д.
felix
 
Сообщения: 132
Зарегистрирован: 20 окт 2009, 19:17

Re: Добавить элемент в середину массива

Сообщение wildarp » 03 фев 2010, 01:03

а использовать ключ ? key=>value
wildarp
 
Сообщения: 4
Зарегистрирован: 18 дек 2009, 13:15

Re: Добавить элемент в середину массива

Сообщение felix » 03 фев 2010, 11:30

Массив не ассоциативный.
Честно говоря, не совсем понял. :(
felix
 
Сообщения: 132
Зарегистрирован: 20 окт 2009, 19:17

Re: Добавить элемент в середину массива

Сообщение radioheaded » 03 фев 2010, 13:32

felix писал(а):В начало, середину, пожалуйста. А в середину - нет.

:shock:

felix писал(а):Массив не ассоциативный.

:shock: :shock: А в PHP есть другие?
Код: Выделить всё
function array_insert($array$elem$pos)
{
    return 
array_merge(array_slice($array0$pos-1), array($elem), array_slice($array$pos));
}

$abc = array('a''b''d''e''f''g');
$right_abc array_insert($abc'c'3);
 


Устроит? Код наколеночный, на работоспособность не проверял) Позиция задается в человеческом формате (начиная с 1). По-хорошему, надо еще учесть ситуации, когда позиция выходит за пределы размеров массива, но это уже допилите, если надо.
radioheaded
 

Re: Добавить элемент в середину массива

Сообщение felix » 03 фев 2010, 14:20

Спасибо.
О подобном я уже подумал и сам.
Просто казалось. что в похапе должна быть встроенная функция подобного рода.
felix
 
Сообщения: 132
Зарегистрирован: 20 окт 2009, 19:17


Вернуться в Общие вопросы по PHP и веб-программированию

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0