请你能好心帮助,我有以下$事件阵列和我想的排序值到我的事件数组中的“猫”数组进行排序。不正确使用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