2012-05-09 33 views
16

Mam tablicę, która jest zbudowany przy użyciu funkcji explode(), ale widząc, jak używam go z losowymi danymi/dynamicznych, widzę, że ciągle się zmienia indeksy:Re indeksy tablicy klawisze numeryczne

Array 
(
    [2] => Title: Warmly little before cousin sussex entire set Blessing it ladyship. 
    [3] => Snippet: Testing 
    [4] => Category: Member 
    [5] => Tags: little, before, entire 
) 

Potrzebuję uporządkowania tablicy począwszy od 0 zawsze. Testuję z różnymi danymi i czasami zaczyna się od 0, a przy innych testach zaczyna się od różnych liczb. Badałem i natknąłem się na Array starting at zero, ale wydaje się, że dotyczyło to tylko tego konkretnego przypadku. Kod, którego używam do zbudowania tablicy, można zobaczyć tutaj: https://stackoverflow.com/a/10484967/1183323

Jak mogę to zrobić?

+5

Jak zbudować tej tablicy? Rozbicie domyślnie zaczynałoby się od 0. – Jage

+1

Czy przeczytałeś instrukcję (http://www.php.net/manual/en/function.array-values.php)? – symcbean

Odpowiedz

45
$your_new_array = array_values($your_old_array); 
+0

Zrobiłem to, ale powinno być coś jeszcze, czym powinienem się przejmować zaimplementowanie tej funkcji. – Tower

+0

Nie. Zgodnie z instrukcją, "array_values ​​() zwraca wszystkie wartości z tablicy wejściowej i indeksuje numerycznie tablicę." –

+3

Należy pamiętać, że instrukcja nie gwarantuje, że kolejność wartości zostanie zachowana. – matt

11

Zastosowanie array_merge() przenumerować tablicę:

$your_old_array = array(2 => 'whatever', 19 => 'huh', 22 => 'yep'); 
$your_new_array = array_merge($your_old_array); 
print_r($your_new_array); 

drukuje:

Array ( 
    [0] => whatever 
    [1] => huh 
    [2] => yep) 
+0

To również działa, wynik jaki osiągnąłem jest podobny do tego z 'array_values', thanks! – Tower

+0

Nazywa się JUGAD w języku hindi i urdu: D: P, ale działa ... (y) –

+1

Jest to podobne do wartości array_values, ale lepsze, jeśli masz w tablicy również klawisze ciągów znaków oraz klawisze numeryczne. array_merge() przechowuje klucze łańcuchowe bez zmian i przestawia tylko klawisze numeryczne. –