Добавление элемента к началу массива(содержащего числовые кючи)

chama

Новичок
Добавление элемента к началу массива(содержащего числовые кючи)

Выполняю следующий код:
PHP:
var_dump($mass);
array_unshift($mass,"Неопределено");
var_dump($mass);
получаю
Первый дамп:
array(3) {
[10]=> string(3) "new"
[2]=> string(20) "Неподписанные емайлы"
[1]=> string(10) "Подписчики"
}


Второй дамп
array(4) {
[0]=> string(0) "Неопределено"
[1]=> string(3) "new"
[2]=> string(20) "Неподписанные емайлы"
[3]=> string(10) "Подписчики"
}


мне необходимо получить
array(4) {
[0]=> string(0) "Неопределено"
[10]=> string(3) "new"
[2]=> string(20) "Неподписанные емайлы"
[1]=> string(10) "Подписчики"
}


,я так понял что ключи 10,2,1 php воспринимает как цифры и переиндексирует массив, т.к. я пробовал ставить вместо этих ключей буквы и проблем не было.Так пробовал при присвоении индекса писать (string).
Объединение массивов с помощью array_merge и
array_merge_recursive приводит к тем же результатам.
 

chama

Новичок
zerkms
Мне действительно 'Неопределено' необходимо вставить в начало массива.
Чтобы не нарушать внутреннее построение массива. Так что твой вариант неуместен.
 

Leksi

Новичок
PHP:
$x = array('Неопределено');
$mass = $x + $mass;
Но это сработает только в том случае, если в массиве $mass не будет элемента с индексом 0.
 

chama

Новичок
Спасибо Leksi.
Не знал об этом приминении оператора '+'
 
Сверху