2013-03-08 68 views
-1

我想对我的数组应用不同的排序,但我得到意想不到的结果。这是我的数组结果:在排序问题php

Array ( 
[0] => Sony,HTC 
[1] => HTC 
[2] => AT&T 
[3] => Sony 
[4] => BlackBerry 
[5] => Nokia 
[6] => Toshiba 
[7] => Altori 
) 

当我打印使用sort($rows,SORT_ASC)这个阵列将显示'1'.$rows作为包含元素的数组。任何人都可以找到这里的问题是什么?

我想用(SORT_REGULAR,SORT_NUMERIC)等不同选项对数组进行排序。

+0

您还应该显示您用来帮助人们提供更好答案的确切代码。 – Jon 2013-03-08 09:37:25

回答

3

sort对数组重新排序但不返回其排序形式 - 相反,它会就地修改原始数组并返回布尔成功/失败标志。此标志的值为true,当您打印它时,PHP将转换为"1"

因此,不是这样的:

print_r(sort($array)); 

你应该这样做:

sort($array); 
print_r($array); 
+0

如果我想用sort($ rows,SORT_DESC)进行排序,会发生什么情况? – 2013-03-08 09:33:10

+0

@MahmoodRehman:同样的事情。 – Jon 2013-03-08 09:35:44

+0

@Jan但我想用不同的形式对数组进行排序? – 2013-03-08 09:37:21

0

sort()功能排序数组传递

echo sort($array)是一个错误的说法

代替:

如果$ array未排序使用sort($array)

然后print_r($array)并查看结果。

我希望这会有用。

+0

好吧,我有一些想法,但当我尝试打印排序($行,SORT_DESC)?什么都没有发生 – 2013-03-08 09:34:44

+0

你不能给第二个参数作为SORT_DESC。请参阅http://php.net/manual/en/function.sort.php了解允许的参数。 – 2013-03-08 09:37:40