2009-11-04 18 views
29

Wie der Titel vorschlägt, ich möchte ein Array nach Wert alphabetisch in PHP sortieren.Sortieren Array nach Wert alphabetisch php

$arr = array(
    'k' => 'pig', 
    'e' => 'dog' 
) 

würde

$arr = array(
    'e' => 'dog', 
    'k' => 'pig' 
) 

Irgendwelche Ideen?

EDIT: Hier ist das eigentliche Array, das ich sortieren möchte.

Array ([0] => Newtown [1] => Montgomery [2] => Welshpool [6] => Llanfyllin [7] => Llansanffraid [8] => Llanymynech [9] => Oswestry [14] => Oswestry Town Service [15] => Aston Way [16] => College Road [17] => Shrewsbury [18] => Royal Shrewsbury Hospital [19] => Worthen [20] => Brockton [22] => Cefn Blodwell [23] => Treflach [24] => Trefonen [25] => Morda [26] => Marches School [28] => North Shropshire College [37] => Park Hall [38] => Gobowen [39] => St Martins [40] => Ifton Heath [42] => Guilsfield [43] => Four Crosses [45] => Pant [46] => Llynclys [49] => Oswestry Town Service Schools [51] => Woodside School [56] => Whittington [57] => Babbinswood [58] => Hindford [59] => Ellesmere [62] => Forden [63] => Kingswood Cock Hotel [65] => Coleg Powys [85] => Borfa Green [86] => Bryn Siriol [87] => Maesydre School [92] => Crew Green [93] => Ford [104] => Llanrhaeadr [106] => Meifod [114] => Llangynog [116] => Llangedwyn [119] => Porthywaen [132] => Llanfair Caereinion [133] => Pontrobet [136] => Dolanog [141] => Llansilin [144] => Abermule [145] => Llandyssil [146] => Carhowel [149] => Cefn Coch [150] => Tregynon [151] => Manafon [152] => Berriew [157] => Bettws Cedewain [158] => Newtown High School [160] => Newtown Coleg Powys [173] => Llanerfyl [174] => Machynlleth [175] => Talybont [176] => Aberystwyth [183] => Bala [184] => Llanrwst [185] => Llandudno [188] => Middletown [196] => Llanidloes [202] => Wrexham [203] => Rhayader) 

Antwort

5
  • Wenn Sie nur die Array-Werte sortiert werden sollen und Sie für die Schlüssel nicht kümmern, verwenden sort(). Dies ergibt ein neues Array mit numerischen Tasten, beginnend mit 0. Wenn Sie die Schlüssel/Wert-Verknüpfungen beibehalten möchten, verwenden Sie asort().

Siehe auch die comparison table of sorting functions in PHP.

17

Beachten Sie, dass sort() arbeitet auf dem Array anstelle, so dass Sie nur

sort($a); 
doSomething($a); 

Das wird nicht funktionieren anrufen müssen;

$a = sort($a); 
doSomething($a); 
+0

Es ist, weil sort (a $) den Wert durch Verweis übergibt, weil der, dass wir nicht brauchen, um es in die zweite Variable zuzuweisen. –

+0

Vielen Dank für diesen Hinweis. Nahm mich fast eine halbe Stunde :-) – Jan

Verwandte Themen