5

PHPマニュアルsort_flagsのこのページで勉強しています。

そして、これらのフラグのそれぞれがどのような違いを表しているのかわかりません。

フラグは6つしかないので、誰かがそれらの違いを理解するのを手伝ってくれませんか。たぶんいくつかの例で。とてもありがたいです。

4

1 に答える 1

7

テストに使用されるアレイ:

$toSort = array(2, 1, "img1", "img2", "img10", 1.5, "3.14", "2.72");

文字列であることに注意してください3.14 & 2.72

フラグの使用SORT_REGULAR(通常はアイテムを比較):

Array
(
    [0] => 2.72
    [1] => 3.14
    [2] => img1
    [3] => img10
    [4] => img2
    [5] => 1
    [6] => 1.5
    [7] => 2
)

SORT_NUMERICフラグの使用(項目を数値で比較するため3.14、文字列ではなく数値としてソートされます):

Array
(
    [0] => img10
    [1] => img1
    [2] => img2
    [3] => 1
    [4] => 1.5
    [5] => 2
    [6] => 2.72
    [7] => 3.14
)

SORT_STRINGフラグの使用(SORT_LOCALE_STRING同様に機能しますが、現在のロケールに依存し、すべての値は文字列として扱われます):

Array
(
    [0] => 1
    [1] => 1.5
    [2] => 2
    [3] => 2.72
    [4] => 3.14
    [5] => img1
    [6] => img10
    [7] => img2
)

SORT_NATURALフラグを使用する(img*文字列の順序に注意してください、それは自然です):

Array
(
    [0] => 1
    [1] => 1.5
    [2] => 2
    [3] => 2.72
    [4] => 3.14
    [5] => img1
    [6] => img2
    [7] => img10
)

SORT_FLAG_CASE大文字と小文字を区別しない並べ替えと組み合わせSORT_STRINGたりSORT_NATURAL、大文字と小文字を区別しない並べ替えを行うことができます。例:

// works like SORT_NATURAL but is case-insensitive
sort($toSort, SORT_NATURAL | SORT_FLAG_CASE);
于 2012-06-23T10:43:16.373 に答える