直接使用文档中的示例,我无法弄清楚为什么我会得到我的结果。
function cmp($a, $b)
{
return strcmp($a["fruit"], $b["fruit"]);
}
$fruits[0]["fruit"] = 1000;
$fruits[1]["fruit"] = 600;
$fruits[2]["fruit"] = 2180;
echo ("<pre>");
echo " before \n";
print_r($fruits);
echo ("</pre>");
usort($fruits, "cmp");
echo ("<pre>");
echo " after \n";
print_r($fruits);
echo ("</pre>");
结果如下:
before
Array
(
[0] => Array
(
[fruit] => 1000
)
[1] => Array
(
[fruit] => 600
)
[2] => Array
(
[fruit] => 2180
)
)
after
Array
(
[0] => Array
(
[fruit] => 1000
)
[1] => Array
(
[fruit] => 2180
)
[2] => Array
(
[fruit] => 600
)
)
我认为usort意在根据多维数组中的值进行组织。有时它会对它进行排序,有时它只是给出一个随机顺序作为输出数组。我错过了什么吗?此外,这不是一个重复的问题,请仔细阅读,在这个网站上没有任何类似的东西。