PHP добавляет в начало массива без изменения порядка


Я пытался найти ответ на свой вопрос, но не смог найти тот, который сделал бы это без изменения порядка числовых индексов.

Есть ли способ добавить строку в начало массива без изменения порядка ключей (числовых ключей) без использования цикла?

Спасибо

РЕДАКТИРОВАТЬ:

Я попытаюсь объяснить сценарий. (Я использую CodeIgniter).

У меня есть массив, который используется во всем моем приложении. Этот массив также используется для создания выпадающего списка и чтобы проверить эти раскрывающиеся значения в форме, которая у меня есть. Что я хотел бы сделать, так это вставить пустое значение в начало массива, чтобы в моем раскрывающемся списке по умолчанию был выбран пустой параметр.

Итак, из этого

1=> Привет
2=>Мир

До

'' => ''
1=> Привет
2=>Мир

Author: RS7, 2011-03-12

1 answers

Поскольку вы не хотите изменять числовые индексы, я предполагаю, что array_unshift не будет работать.

Так что, возможно, если вы знаете индексы, вы могли бы сделать это так:

$x = array(1 => 1, 2 => 2, 3 => 3); 
$y = array(1101 => 123);
var_dump( $y + $x );

/* Output:
array(4) {
  [1101]=>
  int(123)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
}
*/

Обратите внимание, что ключ теперь действительно находится перед массивом, поэтому foreach будет работать нормально.

Ответ на редактирование:

$x = array(1 => "Hello", 2 => "Welt"); 
$y = array("" => "");

var_dump($y + $x);

/*
array(3) {
  [""]=>
  string(0) ""
  [1]=>
  string(5) "Hello"
  [2]=>
  string(4) "Welt"
}
*/
 9
Author: edorian, 2011-03-12 17:49:50