辞書順比較・数値順比較・自然順の違い
2017/06/05
辞書順と数値順
【参考リンク】http://d.hatena.ne.jp/perlcodesample/20080318/1205856860
# 数値順では、”1″ ( 1 ) より “02” ( 2 ) のほうが大きい
# 辞書順では、先頭の1文字から順に比較してゆくので、
# “1” より “02” のほうが小さい
辞書順比較では,先頭から1文字づつ,文字コードの大きさを比べてゆきます
“a”は”b”より小さくなります。
またサンプルのように、”1″は”02″より大きくなります。
1,12,2について辞書順比較と数値比較の例
辞書順比較
1
12
2
の順に小さい
数値順比較
1
2
12
の順に小さい
(補足)辞書順で、「文字と数字」 「大文字と小文字」の比較
数値とアルファベット
・数値の方が小さい・先と判断される。
1 2 3 |
strcmp("a", "b");//-1a < b strcmp("z", "0");// 1z > 0 strcmp("a",0);// 1a > 0 strcmp("a",9999);// 1a > 9999 |
大文字と小文字
小文字が小さい、先と判断される。
自然順
文字列であっても、数値部分は数値として比較するというのが、自然順。
数値部分も文字列として、比較するのが辞書順。
文字列の中に数値が含まれる場合は、自然順ソートの方が、人間の感覚に近いと考えられる。
PHPではnasort()というコマンドがあります。
ソート例
■自然順
bin/php-5.2.1
bin/php-5.2.2
bin/php-5.2.3
bin/php-5.2.4
bin/php-5.2.5
bin/php-5.2.6
bin/php-5.2.7
bin/php-5.2.8
bin/php-5.2.9
bin/php-5.2.10
■辞書順
bin/php-5.2.1
bin/php-5.2.10
bin/php-5.2.2
bin/php-5.2.3
bin/php-5.2.4
bin/php-5.2.5
bin/php-5.2.6
bin/php-5.2.7
bin/php-5.2.8
bin/php-5.2.9
ふむー、、自然順は自然だのう。。
- PREV
- NATとIPマスカレードとポートフォワーディングの意味整理
- NEXT
- 自然順と辞書順のソートの違い
関連記事
-
-
【php】strtotimeで日付計算する場合の基準日の指定のくせ「A non well formed numeric value encountered in 」
またちょっと嵌った。。。 strtotime() 書式化された文字列からunix …
-
-
MongoDBとPHP_リンクと個人的ポイントまとめ
=============================== リンク集 === …
-
-
【PHP】【Slim】テンプレートの利用
テンプレートの利用 【参考】PHPマイク …
-
-
phpでImageMagickを使うための各種インストール
phpからImageMagickを使いたい。peclのimagickをインストー …
-
-
[php]ログインセッションの維持・有効期間について (session,cookie)
cookieとsessionファイルと、登場人物が複数いるので、どこに何を設定す …