在PHP中的多维数组中排序

时间:2015-11-29 21:23:58

标签: php php-5.3 php-5.4 php-5.5

当我在" num"中添加相同的数字单位时。例如(0-9)。它正在排序我的数组。但是,如果任何" num" value包含不同的数字单位,排序失败。例如(4,7,2,1)这将起作用。 (7,12,76,2)这将失败。

 $stack = array(array("Price" => $op,"num" => $noi),
        array("Price" => $op1,"num" => $noi1),
        array("Price" => $op2,"num" => $noi2),
        array("Price" => $op3,"num" => $noi3));



    function cmp($a, $b)
    {
      return strcmp($a["num"], $b["num"]);
    }
      usort($stack, "cmp");

1 个答案:

答案 0 :(得分:1)

尝试使用此比较数字

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

它直接取自usort上的PHP手册,并针对您的阵列进行了修改。