1

我在 php 中用表创建了数据库,然后从 php 文件中放入一个 int 列,我连接到该列并希望获取整数信息并从高到低排序,这是正确的,但是当数组获取整数并从高到低排序时给我下一个数字:

我把:2,7,9,10,3,15,1 Araay 给我:9,7,3,2,1,15,10

自动转换为小数,为什么?谢谢...


RE> 不是将其 int 字符串放入列中

while($row2 = mysql_fetch_array($potvrda)){
    $array[] = $row2["soS"] . "<br />";


    foreach ( $row2 as $key => $val ) {

        if (!empty($val) && $key!= "soS" ) {

            print $key . " : " . $val . "<br />";

        }

    }

} 
rsort($array);
    echo $array[0];
    echo $array[1];
    echo $array[2];
    echo $array[3];
    echo $array[4];
    echo $array[5];
    echo $array[6];
</code>

RE> Daniel M 非常感谢 rsort($array, SORT_NUMERIC);ist the solution 再次感谢...

4

1 回答 1

1

你用rsort()错了。由于您的值来自数据库,因此它们是字符串。事实上,字符串“15”小于字符串“9”,因为“15”以“1”开头。

要解决您的问题,请使用以下 SORT_NUMERIC标志:

rsort($array, SORT_NUMERIC);

更多信息:http ://www.php.net/rsort

于 2012-08-25T15:07:30.973 回答