2010-08-25 115 views
0

我想对包含数值的数组进行排序,这些数值的范围基本相同。我想要得到的结果是从我从MySQL服务器中检索的数组中的这些数字的降序。到目前为止,我已经创造了这个测试出来的“排序”功能:PHP - 对数组进行排序

<?php 

$numbers = array("100", "50", "70", "1000"); 
sort($numbers); 
echo var_dump($numbers); 

?> 

而结果我得到的是这样的:

array(4) { [0]=> string(2) "50" [1]=> string(2) "70" [2]=> string(3) "100" [3]=> string(4) "1000" } 

我可以看到数字从最小到最大上市,但我希望它从最大的整数列表到最小的整数。另外我不明白为什么它的文本不是整数。如果有人能帮我解决这个问题,我将不胜感激。

感谢,

凯文

+0

因为这些值都是字符串,并且你想他们排序为数值,记得使用SORT_NUMERIC标志与排序()或rsort() – 2010-08-25 14:46:35

回答

1

rsort()反向排序阵列:)

+0

好吧,但怎么做我摆脱了其他文字,只包括数字? – lab12 2010-08-25 14:20:28

+0

@Kevin - 你是什么意思的“其他文字”?你的意思是由var_dump生成的附加文本列出数据类型,键值等? – 2010-08-25 14:47:51

+0

它不是“其他文本”尝试$ array [0] ...它应该只是返回数字。那只是字符串类型的定义。 – 2010-08-25 14:55:42

1

让我告诉你可以自己找到答案。

  1. 导航到你目前正在使用该函数的手册页:http://php.net/sort
    需特别注意容易地址 - 只需八个字符和一个函数名。非常便利。

  2. 向下滚动到See also部分。

  3. 选择适当的功能。

  4. 完成!

看,这并不难。并且不需要接受任何答案,因为你自己回答了问题。

至于文字,没有任何。只是尝试使用这个数组的有用的东西,看