How do I sort a PHP array by an element nested inside?

前端 未结 8 2184
长情又很酷
长情又很酷 2020-12-05 23:00

I have an array like the following:

Array
(
    [0] => Array
        (
            \'name\' => \"Friday\"
            \'weight\' => 6
        )
    [1] => Array
          


        
8条回答
  •  无人及你
    2020-12-05 23:21

    Agree with usort, I also sometimes use array_multisort (http://ca2.php.net/manual/en/function.usort.php) example 3, sorting database results. You could do something like:

     'Friday', 'weight' => 6),
      array('name' => 'Monday', 'weight' => 2),
    );
    
    $weight = array();
    foreach($days as $k => $d) {
      $weight[$k] = $d['weight'];
    }
    
    print_r($days);
    
    array_multisort($weight, SORT_ASC, $days);
    
    print_r($days);
    ?>
    

    Output:

    Array
    (
        [0] => Array
            (
                [name] => Friday
                [weight] => 6
            )
    
        [1] => Array
            (
                [name] => Monday
                [weight] => 2
            )
    
    )
    Array
    (
        [0] => Array
            (
                [name] => Monday
                [weight] => 2
            )
    
        [1] => Array
            (
                [name] => Friday
                [weight] => 6
            )
    
    )
    

提交回复
热议问题