一起使用 usort 和 strcomp 通过其中一个键对数组进行排序有一个奇怪的效果:它返回的数组中的项目比我输入的要少。
在我的例子中,数组包含表示任务的行,我想通过键“displayorder”对数组中的行进行排序,这是一个数字,但我想按字母顺序排序(不要问为什么)。
function treeSort($a, $b) {
return strcmp(strval($a['displayOrder']), strval($b['displayOrder']));
}
usort($tree, "treeSort");
有九排,但我只拿回了六排。顺便说一句,这六个排序很好。如果我使用 uasort 而不是 usort,我会得到所有九行,但以数字方式排序。