2012-06-06 7 views
0

Я пытаюсь изменить вывод на своем программном обеспечении для корзины покупок. Я верю, что нашел, откуда идет массив, и мне просто нужно его отсортировать. sort() не работает. Я использовал print_r для просмотра массива, и это больше измерений, чем может обрабатывать мой маленький мозг. Как отсортировать это по полному названию валюты?Как отсортировать этот многомерный массив

Array ([0] => Array ([id] => USD [text] => US Dollar) [1] => Array ([id] => EUR [text] => Euro) [2] => Array ([id] => GBP [text] => United Kingdom Pound) [3] => Array ([id] => CAD [text] => Canadian Dollar) [4] => Array ([id] => AUD [text] => Australian Dollar) [5] => Array ([id] => CHF [text] => Swiss Franc) [6] => Array ([id] => CZK [text] => Czech Koruna) [7] => Array ([id] => DKK [text] => Danish Krone) [8] => Array ([id] => HKD [text] => Hong Kong Dollar) [9] => Array ([id] => HUF [text] => Hungarian Forint) [10] => Array ([id] => JPY [text] => Japanese Yen) [11] => Array ([id] => NZD [text] => New Zealand Dollar) [12] => Array ([id] => NOK [text] => Norwegian Kroner) [13] => Array ([id] => PLN [text] => Polish Zloty) [14] => Array ([id] => SGD [text] => Singapore Dollar) [15] => Array ([id] => SEK [text] => Swedish Krona) [16] => Array ([id] => ILS [text] => Israeli New Shekel) [17] => Array ([id] => MXN [text] => Mexican Peso) [18] => Array ([id] => TWD [text] => Taiwan Dollar) [19] => Array ([id] => PHP [text] => Philippine Peso) [20] => Array ([id] => THB [text] => Thai Baht)) 
+0

для удобства чтения, вы можете ввести свой массив код на несколько строк в вашем вопросе? –

ответ

2

Как сказал Interstellar_Coder, использовать usort, но сделать это правильно!

usort($array,create_function('$a,$b','return strnatcasecmp($a["text"],$b["text"]);')); 

Или, с PHP 5.3 года:

usort($array,function($a,$b) {return strnatcasecmp($a['text'],$b['text']);}); 
+0

Yay для лямбда! – Okonomiyaki3000

+0

Это определенно полный ответ +1 для использования анонимной функции. –

+0

Я понятия не имею, что означает «Yay for lambdas», и я не знаю, что подразумевается под «анонимной функцией». Кроме того, вы говорите: «Как сказал Interstellar_Coder», но, насколько я вижу, он ничего не сказал до тех пор, пока вы не ответили. И я предположил, что получаю уведомление, поэтому я думал, что мой вопрос просто проигнорирован. Этот сайт запутан в своей работе. Спасибо за ответ, хотя! Я понял что-то еще, но он был нигде не столь изящным. Более читаемый, возможно, но менее изящный. – bcsteeve

Смежные вопросы