php 中的多维数组排序

Sorting in Multi Dimension array in php

当我在 "num" 中添加相同的数字单位时。例如(0-9)。它正在对我的数组进行排序。但是,如果任何 "num" 值包含不同的数字单位,则排序失败。例如(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");

试试这个来比较数字

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

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