2011-12-01 20 views
34

Tengo una matriz que no usa el índice 0. La matriz comienza desde 1,2,3. Entonces me gustaría agregar a la matriz. Intenté hacer array_push($array, "Choose City"), pero esto termina al final de la matriz, con el índice de matriz 4 en este caso.Array push como el primer índice PHP

¿Cómo puedo configurarlo para que sea el índice de matriz 0?

Respuesta

85

http://php.net/manual/en/function.array-unshift.php

array_unshift($array, "Choose City") 

o puede hacerlo de forma manual

+1

+1 para realmente leer la pregunta. – DaveRandom

+2

@DaveRandom la pregunta es "¿Cómo puedo configurarlo para que sea el índice de matriz 0?" :) – Oyeme

+5

@Oyeme Mientras '$ array [0] =' es una respuesta válida, solo funciona una vez. Usar 'array_unshift()' tiene exactamente el mismo efecto en la primera llamada, y funciona tantas veces como lo desee. A veces la respuesta literal no es la mejor respuesta ... – DaveRandom

2

Si sabe que Índice 0 no se utiliza simplemente puede asignarle:

$array[0] = "Choose City"; 
+0

¿Por qué no se utiliza? Su respuesta no está clara –

+3

@Matteo El OP lo dijo. Esta es la respuesta más simple para agregar un nuevo elemento con índice 0 al comienzo de una matriz (que aún no tiene uno con ese índice). Otras respuestas no hacen suposiciones sobre el estado de la matriz y, por lo tanto, son más robustas. –

+0

Entiendo. Te daré un +1 porque en realidad esta es la respuesta a la pregunta específica. Incluso si la solución no es general –

11

Creo que busca array_unshift() - esto añade un elemento al principio de la matriz, en lugar de al final, sin sobreescribir ningún elemento existente.

Sin embargo, ahora se indexará la matriz a partir de las 0 ...