假設你有一個關聯數組什麼是重新排列關聯數組的最優雅的方法?
$hash['Fruit'] = 'Apple';
$hash['Name'] = 'Jeff';
$hash['Car'] = 'Ford';
,你不能改變在其中創建這些變量的順序。所以Car總是在Name之後添加到數組中。等等,將Car添加到關聯數組的開頭而不是結束(默認)是最漂亮的方法?
假設你有一個關聯數組什麼是重新排列關聯數組的最優雅的方法?
$hash['Fruit'] = 'Apple';
$hash['Name'] = 'Jeff';
$hash['Car'] = 'Ford';
,你不能改變在其中創建這些變量的順序。所以Car總是在Name之後添加到數組中。等等,將Car添加到關聯數組的開頭而不是結束(默認)是最漂亮的方法?
array_reverse($hash, true);
這不是一個很直接的解決方案,但一個是:
$value = end($hash);
$hash = array(key($hash) => $value) + $hash;
是的,我讀過這個;-)移動已添加到數組的項目的好方法。 – zerkms 2010-04-22 20:59:29
另一個竅門是 -
$new_items = array('Car' => 'Ford');
$hash = array_merge($new_items, $hash);
可以重新安排新的數組鍵也。假設汽車第一則另一個領域(比如標識),那麼陣列依然如此....
$new_items = array('Car' => 'Ford','Id'=>'New Id');
$hash = array_merge($new_items, $hash);
的陣列將成爲像
$hash['Car'] = 'Ford';
$hash['Id'] = 'New Id';
$hash['Fruit'] = 'Apple';
$hash['Name'] = 'Jeff';
是你要對數組進行排序? – Galen 2010-04-22 20:46:49
並且您是否嘗試按字母順序排序?或者你只是想把汽車推到最高處,而不會觸動所有其他元素? – webbiedave 2010-04-22 20:49:24
這是哪一句話? – webbiedave 2010-04-22 20:52:34