[英]Sorting foreach loop by highest number
我需要从最高计数排序foreach,例如首先计数5,计数4秒,等等......
$i = 0;
$diseases = Diseases::find()->localized($lang)->all();
foreach ($diseases as $disease) {
$selected_symptoms_array = explode(',', $symptoms);
$symptoms_array = explode(',', $disease->symptoms_id);
if (count(array_intersect($selected_symptoms_array, $symptoms_array)) > 0){
$data[$i]['translation']['title'] = $disease->title;
$data[$i]['id'] = $disease->id;
$data[$i]['count'] = count(array_intersect($selected_symptoms_array, $symptoms_array));
$i++;
}
}
解决方案:
ArrayHelper::multisort($data, function ($item) {
return isset($item['count']) ? $item['count'] : $item['id'];
}, SORT_DESC);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.