Sort a php array returning new array

后端 未结 3 2109
离开以前
离开以前 2021-01-04 06:39

I am looking for a reliable standard method to sort an array, returning the sorted ( associative ) array, as return value.

All the

相关标签:
3条回答
  • 2021-01-04 06:58

    As others have said, your best bet is to create a custom function. However, in order to maintain flexibility with the future of PHP, I would use a variadic function. Essentially, you set your function to accepts whatever parameters are passed to it, and pass them through to the actual sort() function. Done this way, you can use whatever optional parameters exist for the standard function you're putting the wrapper around -- even if those parameters change in the future.

    function mysort( ...$params ) {
        sort( ...$params );
        return $params[0];
    }
    
    0 讨论(0)
  • 2021-01-04 07:03

    Here's a one-liner:

    call_user_func(function(array $a){asort($a);return $a;}, $some_mixed_array);

    0 讨论(0)
  • 2021-01-04 07:05

    Would you be able to do this?

    $some_mixed_array = array( 998, 6, 430 );
    function custom_sort( $array )
    {
      // Sort it
      asort($array);
    
      // return sorted array
      return $array;
    }
    
    custom_sort( $some_mixed_array );
    
    // returning: array( 6, 430, 998 )
    

    This would also solve your issue:

    $some_mixed_array = array( 998, 6, 430 );
    echo '<pre>'.print_r($some_mixed_array, true).'</pre>';
    
    asort($some_mixed_array); // <- BAM!
    
    // returning: array( 6, 430, 998 )
    echo '<pre>'.print_r($some_mixed_array, true).'</pre>';
    
    0 讨论(0)
提交回复
热议问题