Php 对具有最高点的数组排序?

Php 对具有最高点的数组排序?,php,arrays,sorting,Php,Arrays,Sorting,如何从15.00键对具有最高点的数组进行排序 我有一个如下所示的数组: Array ( [9] => Array ( [15.00] => 3.0 [20.00] => 8.0 [25.00] => 10.5 ) [2] => Array ( [15.00] => 2.0 [

如何从
15.00
键对具有最高点的数组进行排序

我有一个如下所示的数组:

Array
(

    [9] => Array
        (
            [15.00] => 3.0
            [20.00] => 8.0
            [25.00] => 10.5
        )

    [2] => Array
        (
            [15.00] => 2.0
            [20.00] => 5.0
            [25.00] => 2.5
        )


    [4] => Array
        (
            [15.00] => 6.0
            [25.00] => 4.0
            [30.00] => 6.0
        )
)

顺序应该是:4、9和2如果我正确理解你的问题,我个人可能会使用。在我的回拨中,我会比较
$a[15.00]
$b[15.00]
如果我正确理解你的问题,我个人可能会使用。在我的回调中,我会比较
$a[15.00]
$b[15.00]


<?
for ($i=1;$i<=count($arr);$i++)
for ($j=$i+1;$j<=count($arr) - 1;$j++)
 if ($arr[$i]['15.00'] > $arr[$j]['15.00']) {
   $tmp = $arr[$i];
   $arr[$i] = $arr[$j];
   $arr[$j] = $tmp
 }
?>

您需要uasort():

函数cmp($a,$b){
如果($a[15.00]<$b[15.00])返回1;
如果($a[15.00]>$b[15.00])返回-1;
返回0;
}
uasort($data,“cmp”);
您需要uasort():

函数cmp($a,$b){
如果($a[15.00]<$b[15.00])返回1;
如果($a[15.00]>$b[15.00])返回-1;
返回0;
}
uasort($data,“cmp”);
PHP有一个函数,允许您通过用户提供的比较函数进行排序。还有一种方法可以维护索引关联

下面是一个例子:

<?php
$array = Array(
  9 => Array(
            15.00 => 3.0,
            20.00 => 8.0,
            25.00 => 10.5
  ),
  2 => Array(
            15.00 => 2.0,
            20.00 => 5.0,
            25.00 => 2.5
  ),
  4 => Array(
            15.00 => 6.0,
            25.00 => 4.0,
            30.00 => 6.0
  )
);

function my_func($a, $b) {
   if ($a[15.00] == $b[15.00])
      return 0;
   return ($a[15.00] < $b[15.00]) ? 1 : -1; // backwards sorting
}

uasort($array, my_func);
var_dump($array);
?>

希望这有帮助。

PHP有一个函数,可以通过用户提供的比较函数进行排序。还有一种方法可以维护索引关联

下面是一个例子:

<?php
$array = Array(
  9 => Array(
            15.00 => 3.0,
            20.00 => 8.0,
            25.00 => 10.5
  ),
  2 => Array(
            15.00 => 2.0,
            20.00 => 5.0,
            25.00 => 2.5
  ),
  4 => Array(
            15.00 => 6.0,
            25.00 => 4.0,
            30.00 => 6.0
  )
);

function my_func($a, $b) {
   if ($a[15.00] == $b[15.00])
      return 0;
   return ($a[15.00] < $b[15.00]) ? 1 : -1; // backwards sorting
}

uasort($array, my_func);
var_dump($array);
?>


希望这能有所帮助。

@user622378-在本页的评论中有很多多维排序函数@user622378-在本页的评论中有很多多维排序函数