PHP将图表中的最高编号排序为最低编号
发布时间:2020-12-13 17:21:30 所属栏目:PHP教程 来源:网络整理
导读:我正在创建一个CSS图表,根据数值列出从最高到最低的项目.问题是“rsort”似乎只计算前5位数(或者似乎是这样).这导致它显示的项目高于其他数字低于100,000.此问题的示例如下: $ITEM_1 = "95000";$ITEM_2 = "103000";.. $item_rank[]= "li$ITEM_1 Item 1/li";
我正在创建一个CSS图表,根据数值列出从最高到最低的项目.问题是“rsort”似乎只计算前5位数(或者似乎是这样).这导致它显示的项目高于其他数字低于100,000.此问题的示例如下:
$ITEM_1 = "95000"; $ITEM_2 = "103000"; .. $item_rank[]= "<li>$ITEM_1 Item 1</li>"; $item_rank[]= "<li>$ITEM_2 Item 2</li>"; .. rsort($item_rank); // sort highest numbers to lowest echo "<ul>"; echo $item_rank[0]; echo $item_rank[1]; .. echo "</ul>"; 在这种情况下,第1项实际上是较低的数字,但它被排名较高,因为任何超过100,000的项目都被处理得更低.有没有解决的办法? 解决方法
我相信你应该使用
natsort().当你尝试对被视为字符串的数字进行排序时会发生这种情况.这是一个例子:
$a=array('1a','2a','3a','10a','15a'); rsort($a); echo implode(',',$a); // outputs 3a,2a,1a,15a,10a 但是你期待这样的输出: 15a,10a,3a,1a 为此,请使用natsort和array_reverse(): $a=array('1a','15a'); natsort($a); $a=array_reverse($a); echo implode(',$a); // outputs 15a,1a (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |