請你能好心幫助,我有以下$事件陣列和我想的排序值到我的事件數組中的「貓」數組進行排序。不正確使用usort的
Array ([0] => Array (
[date] => 20130329
[title] => Run
[cats] => Array (
[0] => Array (
[name] => Cause 2
[slug] => cause-2
[sort] => 1))
)
[1] => Array (
[date] => 20130131
[title] => Run2
[cats] => Array (
[0] => Array (
[name] => Abused Children
[slug] => abused-children
[sort] => 2)
[1] => Array (
[name] => Animal Welfare
[slug] => animal-welfare
[sort] => 3)
[2] => Array (
[name] => Education
[slug] => education
[sort] => 1)
) )
當我對[cat]進行foreach時,我希望它按排序順序迭代,例如。
Event: Run2
Cat: Education
Cat: Abused Children
Cat: Animal Welfare
在我的代碼,我有這樣的事情
usort($events, function($a, $b) {
return $a['cats']['sort'] - $b['cats']['sort']; });
foreach($events as $event) {
foreach($event['cats'] as $cat) {
echo $cat['name']
}
}
什麼是你的排序的邏輯是什麼?您的預期結果似乎沒有按字典順序排列。 – Passerby
這是排序在['sort']這是一個數字 – Dale