按值排序PHP数组

时间:2011-10-31 14:50:52

标签: php arrays

我需要通过'score'值(降序)重新排序此数组

array
  21 => 
    array
      'score' => int 2
  23 => 
    array
      'score' => int 3
  26 => 
    array
      'score' => int 5

关于如何解决这个问题的任何建议都会很棒。

1 个答案:

答案 0 :(得分:4)

查看uasort - http://www.php.net/manual/en/function.uasort.php

<?php

$array = array(
  21 => 
    array(
      'score' => 2 ),
  23 => 
    array(
      'score' => 3 ),
  26 => 
    array( 
      'score' => 5 ) );

var_dump( $array );

uasort( $array, mysort );

var_dump( $array );

function mysort($a, $b)
{
    if ($a[ 'score' ] == $b[ 'score' ]) {
        return 0;
    }
    return ($a[ 'score' ] < $b[ 'score' ]) ? 1 : -1;
}
?>