2011-12-01 11 views
34

Mam tablicę, która nie używa indeksu 0. Tablica zaczyna się od 1,2,3. Chciałbym dodać do tablicy. Próbowałem zrobić array_push($array, "Choose City"), ale kończy się to na końcu tablicy, z indeksem tablicy 4 w tym przypadku.Array push jako pierwszy indeks PHP

Jak ustawić go jako indeks tablicy 0?

Odpowiedz

85

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

array_unshift($array, "Choose City") 

lub można to zrobić ręcznie

+1

+1 za faktyczne przeczytanie pytania. – DaveRandom

+2

@DaveRandom pytanie brzmi "Jak mogę ustawić go na indeks tablicy 0?" :) – Oyeme

+5

@Oyeme Podczas gdy '$ array [0] =' jest prawidłową odpowiedzią, działa tylko raz. Użycie 'array_unshift()' ma dokładnie taki sam efekt dla pierwszego połączenia i działa tyle razy, ile chcesz. Czasem dosłowna odpowiedź nie jest najlepszą odpowiedzią ... – DaveRandom

2

Jeśli wiesz, że Główna 0 nie jest używany można po prostu przypisać go:

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

Dlaczego nie stosować? Twoja odpowiedź nie jest jasna. –

+3

@Matteo OP tak powiedział. Jest to najprostsza odpowiedź na dodanie nowego elementu z indeksem 0 na początku tablicy (która nie ma jeszcze takiego indeksu). Inne odpowiedzi nie zawierają żadnych założeń dotyczących stanu macierzy i dlatego są bardziej niezawodne. –

+0

Rozumiem. Dam ci +1, ponieważ w rzeczywistości jest to odpowiedź na konkretne pytanie. Nawet jeśli rozwiązanie nie jest ogólne –

11

myślę szukasz array_unshift() - to dodaje element na początku tablicy, a nie do końca, bez nadpisywania istniejących elementów.

Jednak tablica zostanie indeksowane począwszy od 0 ...