2012-06-06 69 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 for lambdas! – Okonomiyaki3000

+0

这绝对是使用匿名函数的完整答案+1。 –

+0

我不知道什么是“Yay for lambdas”,也不知道“匿名函数”是什么意思。另外,你说“正如Interstellar_Coder说的那样”,但据我所知,在你回答之前他什么也没说。 我想我会得到一个通知,所以我认为我的问题被忽略。这个网站在操作上令人困惑。 感谢您的答案,但!我想了一些其他的东西,但它远没有那么优雅。也许更可读,但不太优雅。 – bcsteeve

相关问题