1

私はテーブルを使ってphpでデータベースを作成し、phpファイルから1つの列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);ソリューションをありがとうございます。

4

1 に答える 1

1

使い方がrsort()間違っています。値は DB から取得されるため、文字列です。実際、文字列"15" は文字列 "9" よりも小さく、"15" は "1" で始まります。

問題を解決するには、次の SORT_NUMERICフラグを使用します。

rsort($array, SORT_NUMERIC);

詳細情報: http://www.php.net/rsort

于 2012-08-25T15:07:30.973 に答える