Pregunta PHP agrega al principio de la matriz sin reordenar


Intenté buscar una respuesta a mi pregunta, pero no pude encontrar una que lo hiciera sin reordenar los índices numéricos.

¿Hay alguna manera de agregar una cadena al comienzo de una matriz sin reordenar las teclas (teclas numéricas) sin usar un bucle?

Gracias

EDITAR:

Trataré de explicar el escenario. (Estoy usando CodeIgniter).

Tengo una matriz que se utiliza en toda mi aplicación. Esta matriz también se usa para crear un menú desplegable y validar estos valores desplegables en una forma que tengo. Lo que me gustaría hacer es insertar un valor en blanco al comienzo de la matriz para que mi menú desplegable tenga una opción en blanco seleccionada por defecto.

Entonces de esto

1 => Hola
2 => Mundo

a

'' => ''
1 => Hola
2 => Mundo


5
2018-03-12 17:10


origen


Respuestas:


Como no quiere cambiar los índices numéricos, supongo array_unshift no trabajará.

Entonces, si conoces los índices, podrías hacerlo así:

$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)
}
*/

Tenga en cuenta que la clave ahora está realmente en frente de la matriz por lo foreach funcionará bien

Respuesta a editar:

$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
2018-03-12 17:17