我有以下的數組:PHP NAT排序關聯數組由值而不重新索引
$data['array'] = array(
1 => array(
'currency_name' => 'USD',
'totals' => '310.00 USD'
),
24 => array(
'currency_name' => 'EUR',
'totals' => '200.00 EUR'
),
26 => array(
'currency_name' => 'GBP',
'totals' => '100.00 GBP'
)
);
我想通過currency_name
鍵進行排序,我用下面的函數:
// sort the array by currency_name key
$sort = array();
foreach ($data['array'] as $i => $row)
{
$sort[$i] = $row['currency_name'];
}
array_multisort($sort, SORT_NATURAL, $data['array']);
輸出:
Array
(
[array] => Array
(
[0] => Array
(
[currency_name] => EUR
[totals] => 200.00 EUR
)
[1] => Array
(
[currency_name] => GBP
[totals] => 100.00 GBP
)
[2] => Array
(
[currency_name] => USD
[totals] => 310.00 USD
)
)
)
預計:
Array
(
[array] => Array
(
[24] => Array
(
[currency_name] => EUR
[totals] => 200.00 EUR
)
[26] => Array
(
[currency_name] => GBP
[totals] => 100.00 GBP
)
[1] => Array
(
[currency_name] => USD
[totals] => 310.00 USD
)
)
)
這是重建索引的陣列,這是我不想要的。我以後需要這些鑰匙。
注:
*我上面所使用的方法是this
*我需要SORT_NATURAL
,因爲我使用此功能爲其他字符串了。
謝謝。它解決了我的問題 – machineaddict