How do I sort the following array?

后端 未结 3 470
旧时难觅i
旧时难觅i 2020-12-07 06:17

I have this array:

  Array
(
[0] => Array
    (
        [id] => 6347
        [lat] => 18.520430
        [lng] => 73.856743
        [country_id] =         


        
相关标签:
3条回答
  • 2020-12-07 06:41

    Use the SET class in cake

    $result = Set::sort($yourArray, '{n}.avgRate', 'desc');
    
    0 讨论(0)
  • 2020-12-07 06:51

    Take a look at usort function.

    Just define a function (in the manual as "cmp") for sorting and use it as callback:

    function my_sorting_function($a, $b)
    {
        return $a["avgRate"]>$b["avgrate"]?1:-1;
    }
    

    and then call it

    usort($my_array_variable,"my_sorting_function");
    
    0 讨论(0)
  • 2020-12-07 06:57

    Try this : Using array_multisort

    $sort = array();
    foreach($your_array as $k=>$v) {
        $sort['avgRate'][$k] = $v['avgRate'];
    }
    
    array_multisort($sort['avgRate'], SORT_DESC, $your_array);
    
    
    echo "<pre>";
    print_r($your_array);
    

    Ref: http://php.net/manual/en/function.array-multisort.php

    0 讨论(0)
提交回复
热议问题