php usort()会导致奇怪的结果
我想在字段banner_id(int)上排序。但是跑步时我得到了一个奇怪的结果 此usort()的结果如下: 101-204-34-45-69-等等 我必须得到: 34-45-69-101-204 如何使该排序正确运行。这意味着不仅要对第一个数字进行排序,还要对整个数字进行排序。现在只需要第一个php usort()会导致奇怪的结果,php,usort,Php,Usort,我想在字段banner_id(int)上排序。但是跑步时我得到了一个奇怪的结果 此usort()的结果如下: 101-204-34-45-69-等等 我必须得到: 34-45-69-101-204 如何使该排序正确运行。这意味着不仅要对第一个数字进行排序,还要对整个数字进行排序。现在只需要第一个 function sortScripts($a, $b) { return $a['order'] - $b['order']; } 如果需要相反的顺序,请使用$b-$a 如果所讨论的数字超过
function sortScripts($a, $b)
{
return $a['order'] - $b['order'];
}
如果需要相反的顺序,请使用$b-$a
如果所讨论的数字超过PHP的整数范围,return($a<$b)-1:($a>$b)?1:0)
更健壮
您可以查看此链接以了解更多信息
strcmp
将值作为字符串而不是数字进行比较。那么我应该在此处使用哪种比较?如果您的字段$a[$orderby]
是数字字段,您只需使用$result=$a[$orderby]>$b[$orderby]
$a[$orderby]$b[$orderby]
如果您使用的是PHP7。@xander:如果$a<$b
,比较是否应该返回-1
?
function sortScripts($a, $b)
{
return $a['order'] - $b['order'];
}