我有一個像下面兩個數組:PHP重新安排數組的值,有條件
Array
(
[27119] => Array
(
[firstname] => Array
(
[0] => Testfname1
)
[lastname] => Array
(
[0] => Testlname1
)
[photograph] => Array
(
[0] => 27120
)
[priority] => Array
(
[0] => Open
)
[primary_location] => Array
(
[0] => 27098
)
)
[27137] => Array
(
[firstname] => Array
(
[0] => Testfname2
)
[lastname] => Array
(
[0] => Testlname2
)
[photograph] => Array
(
[0] => 27138
)
[priority] => Array
(
[0] => Featured
)
[primary_location] => Array
(
[0] => 27098
)
)
)
現在我想基於priority
鍵的值的數組以這樣的方式進行排序,如果它的價值是Featured
那麼整個元素(包含該對的數組)應該在數組中包含'priority => open'的元素之前(如果沒有其他候選人具有'priority =>特徵')出現。如果它的值是Open
那麼它的父數組應該在包含'priority => closed'的父元素之前。所以總結一下,我想用「極度」值和有條件地給定給定的多維數組。
我想過使用usort,但是我無法得到關於如何在那些array_sort函數中設置的初始想法。誰能幫忙?
https://stackoverflow.com/a/17364128/476→「排序爲手動,靜態秩序」 – deceze
@deceze但這不是靜態數據,在這個數組中我會有很多像上面這樣的元素(在我的問題中),爲了簡單和簡短起見,我只給出了兩個元素。至少你可以在評論中首先問我......所以這個問題怎麼樣,這樣的多元素,我怎麼能概括和自動化的過程,而不去「手動」? – VST
據我瞭解你的問題,你有一個決定的命令,在'Closed'之前的'Open'之前對'Featured'進行排序,否? – deceze