2012-04-12 9 views
0

Ich habe ein Array, das wie folgt lautet:Sortierung indexs auf einem Array - PHP

array 
    0 => 'Name1' 
    1 => 'Name2' 
    2 => 'Name1' 
    3 => 'Name2' 
    4 => 'Name3' 
    5 => 'Name2' 
    6 => 'Name1' 
    7 => 'Name3' 

Nach der Anwendung array_unique() für duplizierte Elemente Loslassens, meine Array so geht:

0 => 'Name1' 
    1 => 'Name2' 
    4 => 'Name3' 

Wie Sie sehen, ist der Array-Index 0, 1, 4! Ich brauche dies wie eine frische Array zurückgesetzt und gehen zu sein, während Sie es machen, wie:

0 => 'Name1' 
    1 => 'Name2' 
    2 => 'Name3' 

Wie könnte ich das tun?

Antwort

13

Anruf array_values. Dadurch werden die Schlüssel zurückgesetzt.

+0

Ich wollte sagen "sort()' aber 'array_values ​​()' wird viel schneller sein. –

0

Nun, ich versuche diese, und die Arbeit

$array = array( 
0 => 'Name1', 
    1 => 'Name2', 
    2 => 'Name1', 
    3 => 'Name2', 
    4 => 'Name3', 
    5 => 'Name2', 
    6 => 'Name1', 
    7 => 'Name3'); 


sort($array); 
foreach ($array as $key => $val) { 
    echo "nombre[" . $key . "] = " . $val . "\n"; 
} 

Ergebnis:

nombre [0] = Name1 nombre [1] = Name1 nombre [2] = Name1 nombre [3] = Name2 nombre [ 4] = Name2 nombre [5] = Name2 nombre [6] = Name3 nombre [7] = Name3

Verwandte Themen