有沒有什麼辦法來「自定義」排序數組?舉例來說,如果我有以下數字:如何對PHP數組進行排序?
$array = array('0' => 1, '1' => 2, '2' => 3);
我想它命令他們以這種方式:
$array = array('0' => 2, '1' => 1, '2' => 3);
我怎麼會做這個還是不可能?我基本上想要爲每個用戶在一個數據庫字段中列出此數組,但每個訂單將有所不同,具體取決於用戶如何對數組進行排序。
謝謝,傑克
有沒有什麼辦法來「自定義」排序數組?舉例來說,如果我有以下數字:如何對PHP數組進行排序?
$array = array('0' => 1, '1' => 2, '2' => 3);
我想它命令他們以這種方式:
$array = array('0' => 2, '1' => 1, '2' => 3);
我怎麼會做這個還是不可能?我基本上想要爲每個用戶在一個數據庫字段中列出此數組,但每個訂單將有所不同,具體取決於用戶如何對數組進行排序。
謝謝,傑克
可以使用
每個這些接受一個數組和一個user-defined comparison function aka callback。你放入比較函數的內容取決於你。從PHP5.3開始,您也可以使用SplHeaps to create ordered collections。
謝謝!我會研究這些:) – Jake 2010-08-20 22:59:28
,你可能還需要看看在array_multisort()
這可能是更好地讓數據庫排序檢索時的陣列與用戶的設置。我認爲這在PHP中排序幾乎總是可取的。
編輯: 我忘記了數組可能存儲爲單個對象,因此數據庫只是將它作爲對象而不是數組處理。要啓用還是服務器端(數據庫服務器)排序,陣列也可以表示爲單獨的表:
用戶名:索引0 用戶名:索引1 等等
但這可能給太多的數據開銷。
什麼是排序邏輯?什麼決定價值是向前還是向後? – Teekin 2010-08-20 23:01:11