Chinaunix
标题:
按数值排序的一点疑惑
[打印本页]
作者:
rt77789
时间:
2008-09-06 22:03
标题:
按数值排序的一点疑惑
<html>
<head>
<title></title>
</head>
<body>
<pre>
<?php
$animals = array("1 dogs", "1 cats", "1 horses", "1 monkey", "1 gorilla", "1 zebras");
sort($animals, SORT_NUMERIC);
print_r($animals);
?>
</pre>
</body>
</html>
输出为:
Array
(
[0] => 1 gorilla
[1] => 1 zebras
[2] => 1 monkey
[3] => 1 horses
[4] => 1 cats
[5] => 1 dogs
)
不太明白为什么输出这个顺序,如果按数值排序相等,那么则相等的乱序?
排序的规则是什么呢?
作者:
hightman
时间:
2008-09-07 00:37
好好看手册, SORT按要求排序,但值一样的并没有规定谁在前谁在后
作者:
rt77789
时间:
2008-09-07 08:51
如此说来sort是不稳定排序喽
作者:
rt77789
时间:
2008-09-07 08:51
敢问那个手册?
作者:
wildlily980
时间:
2008-09-07 12:37
应该是程序把值都转换成了数值了.都是1,所以就相等.
作者:
2gua
时间:
2008-09-07 15:24
原帖由
rt77789
于 2008-9-7 08:51 发表
敢问那个手册?
PHP帮助手册啊,全世界的PHPer都知道的。
作者:
2gua
时间:
2008-09-07 15:25
建议楼主看看sort函数的说明,可以加额外参数来达到目的。
作者:
rt77789
时间:
2008-09-08 13:09
标题:
回复 #5 wildlily980 的帖子
相等这个没问题,我疑惑转成数值后相等,原来的顺序就变了,这显然不稳定排序
作者:
rt77789
时间:
2008-09-08 13:09
标题:
回复 #7 lujx 的帖子
嗯,谢谢你的回复,我去看看手册。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2