Да, я знаю, что существует множество вопросов, подобных этому. Я хочу переупорядочить свой массив на основе «величины» в этом массиве в порядке убывания. Я использовал все подходящие методы (array_multisort(), arsort() и т. Д.), Но не понял, как получить именно то, что я хочу.PHP Сортировка массива на основе значения
Array ([alCrn] => 27113 [epcid] => IMC601 [last_access] => 2015-03-14 15:26:40 [magnitude] => 1)
Array ([alCrn] => 27114 [epcid] => IMC602 [last_access] => 2015-03-16 20:45:17 [magnitude] => 8)
Array ([alCrn] => 27115 [epcid] => IMC603 [last_access] => 2015-03-15 17:57:58 [magnitude] => 2)
Array ([alCrn] => 27120 [epcid] => IMC608 [last_access] => 2015-03-15 23:56:16 [magnitude] => 12)
Array ([alCrn] => 27122 [epcid] => IMC612 [last_access] => 2015-03-15 19:55:02 [magnitude] => 2)
Array ([alCrn] => 27123 [epcid] => IMC615 [last_access] => 2015-03-17 14:00:34 [magnitude] => 6)
Проблема была ...
Он должен был сделать с массивом не правильно отформатированный. Я должен был принять результаты запроса MySQL и поместить их все в массив, как так:
$count = 0;
while($prefix_rows = $prefix_results->fetch_assoc()){
//the results are not yet ordered according to the number of clicks...save each row in an array and sort using php in next step
$prefix_rows_arr[$count]['alCrn'] = $prefix_rows['alCrn'];
$prefix_rows_arr[$count]['epcid'] = $prefix_rows['epcid'];
$prefix_rows_arr[$count]['last_access'] = $prefix_rows['last_access'];
$prefix_rows_arr[$count]['magnitude'] = $prefix_rows['magnitude'];
$count++;
}
После этого, мне нужно цикл Еогеасп организовать $ prefix_rows_arr:
foreach($prefix_rows_arr as $row){
$arr[] = $row;
}
Тогда, наконец, usort() работали, как и ожидалось
function compareMagnitudes($a, $b){
if ($a['magnitude'] == $b['magnitude']) {
return 0;
}
return ($a['magnitude'] > $b['magnitude']) ? -1 : 1;
}
usort($arr, 'compareMagnitudes');
'usort' должно быть достаточно, любой основной пример из документа поможет вам. – Sugar
Вы подтверждаете, что есть много существующих вопросов, но вы не объясняете, что вам нужно, что те существующие вопросы не отвечают, или покажите нам какой-либо из кода, который вы пробовали. Это заставляет чувствовать, что вы просто хотите, чтобы мы записали код для вас, что не является целью этого сайта. – IMSoP
Иногда трудно сформулировать проблему, с которой не совсем знакомы. Я не думал, что случайные биты кода сортировки помогут в этой ситуации. Иногда это сайт Catch 22 на этом сайте. – Ravioli87