php按值对数组排序,对于相等的值,按键排序

php按值对数组排序,对于相等的值,按键排序,php,sorting,array-multisort,Php,Sorting,Array Multisort,我有一个数组 (0=>0,1=>3,2=>3) 我必须先按值对数组进行排序,对于相等的值,我必须先按递增键的顺序进行排序 我曾尝试分别在数组_键(SORT_DESC)和数组_值(SORT_ASC)上使用多重排序,但这给了我: (0=>0,1=>3,2=>3) 但是我想要 (0=>0,2=>3,1=>3) 您始终可以使用简单的回调对其进行排序。使用它将是: $input = array(0 => 0, 2 => 3, 1 =&

我有一个数组

(0=>0,1=>3,2=>3)
我必须先按值对数组进行排序,对于相等的值,我必须先按递增键的顺序进行排序

我曾尝试分别在数组_键(SORT_DESC)和数组_值(SORT_ASC)上使用多重排序,但这给了我:

(0=>0,1=>3,2=>3)
但是我想要

(0=>0,2=>3,1=>3)

您始终可以使用简单的回调对其进行排序。使用它将是:

$input = array(0 => 0, 2 => 3, 1 => 3);

uksort($input, function($x, $y) use ($input)
{
   if($input[$x]==$input[$y])
   {
      return $x<$y?-1:$x!=$y;
   }
   return $input[$x]-$input[$y];
});
$input=array(0=>0,2=>3,1=>3);
uksort($input,函数($x,$y)use($input)
{
如果($input[$x]==$input[$y])
{

返回$xYeah…nuff说。
ksort
将执行您想要的操作。
ksort
只按键排序,不按值排序。