我有类似数组
$dashboard = array('amount' => 'Przypis (z anulacjami)', 'incaso' => 'Inkaso', 'commission' => 'Prowizja', 'contracts' => 'Kontrakty', 'contracts1' => 'Kontrakty kwartalne', 'contracts2' => 'Megakonkurs', 'unpaid' => 'Nierozliczone polisy gotówkowe', 'statuses' => 'Akredytacje');
我从db排序键中得到了
contracts2,incaso,commission,contracts,contracts1,amount,unpaid,statuses
我想从Dashboard数组中排序数组或为此键附加值并获取
array('contracts2' => 'Megakonkurs', 'incaso' => 'Inkaso', 'commission' => 'Prowizja', 'contracts' => 'Kontrakty', 'contracts1' => 'Kontrakty kwartalne','amount' => 'Przypis (z anulacjami)', 'unpaid' => 'Nierozliczone polisy gotówkowe', 'statuses' => 'Akredytacje');
我正在寻找最佳解决方案。我可以通过foreach做到,但是我认为有更好的方法。谢谢:)
答案 0 :(得分:1)
$dashboard = array('amount' => 'Przypis (z anulacjami)', 'incaso' => 'Inkaso', 'commission' => 'Prowizja', 'contracts' => 'Kontrakty', 'contracts1' => 'Kontrakty kwartalne', 'contracts2' => 'Megakonkurs', 'unpaid' => 'Nierozliczone polisy gotówkowe', 'statuses' => 'Akredytacje');
$order = explode(',', 'contracts2,incaso,commission,contracts,contracts1,amount,unpaid,statuses');
$ordered_array = array_merge(array_flip($order), $dashboard);
信用(以及完成同一任务的两种其他方法):https://www.designcise.com/web/tutorial/how-to-sort-an-array-by-keys-based-on-order-in-a-secondary-array-in-php
答案 1 :(得分:0)
如果要按键排序,可以使用ksort()
,如下所示:
$dashboard = array('amount' => 'Przypis (z anulacjami)', 'incaso' => 'Inkaso', 'commission' => 'Prowizja', 'contracts' => 'Kontrakty', 'contracts1' => 'Kontrakty kwartalne', 'contracts2' => 'Megakonkurs', 'unpaid' => 'Nierozliczone polisy gotówkowe', 'statuses' => 'Akredytacje');
ksort($dashboard);
如果要按值排序,请使用asort()
。