How to sort an array of arrays in php?

后端 未结 3 1556
再見小時候
再見小時候 2020-11-28 16:17

In php I have a numerical array of associative arrays:

mainArray: 
[
  array1:[\'title\':\'Record a\',\'order\':\'2\'],
  array2:[\'title\':\'Record b\',\'or         


        
3条回答
  •  孤城傲影
    2020-11-28 17:08

    You can use usort function. Since PHP 5.4 you can use closure function:

    usort($mainArray, function ($a, $b) {
      $a_val = (int) $a['order'];
      $b_val = (int) $b['order'];
    
      if($a_val > $b_val) return 1;
      if($a_val < $b_val) return -1;
      return 0;
    });
    

    Or version for PHP < 5.4:

    usort($mainArray, 'myCompare');
    
    function myCompare($a, $b) {
      $a_val = (int) $a['order'];
      $b_val = (int) $b['order'];
    
      if($a_val > $b_val) return 1;
      if($a_val < $b_val) return -1;
      return 0;
    }
    

提交回复
热议问题