SYNCERのロゴ
アイキャッチ画像

natsort - 配列を値で自然順にソートする

natsortは、指定した配列を値で自然順にソートする関数です。自然順とは、人間がするような手法でのソート方法で、例えば、"test10"を"test2"よりも後にソートします。

構文

bool natsort ( array &$array )

パラメータ

&$array

対象の配列。

返り値

bool

ソートに成功した場合はtrue、失敗した場合はfalseを返す。

サンプルコード

<?php
	$array = [ "test1", "test2", "test10" ] ;

	$response = asort( $array ) ;

デモ

自然順じゃないソート

まずは同じように値でソートする関数のasortの例を見て下さい。"test10"の方が"test2"よりも前にソートされるのが分かります。2よりも1の方が若い数字なので文字列比較でのソートとして挙動は正しいですが、一般的に人間がする並び替えとは違います。

<?php
/*** このコードは編集できます。 ***/

	$array = [ "test1", "test2", "test10" ] ;

	$response = asort( $array ) ;

	var_dump( $response ) ;
	print_r( $array ) ;
bool(true)
Array
(
    [0] => test1
    [2] => test10
    [1] => test2
)

自然順のソート

続いてnatsortの例です。この関数の場合、人間を考慮した、自然順のアルゴリズムを使ったソートをします。今度は"test2"が"test10"よりも前に来ました。

<?php
/*** このコードは編集できます。 ***/

	$array = [ "test1", "test2", "test10" ] ;

	$response = natsort( $array ) ;

	var_dump( $response ) ;
	print_r( $array ) ;
bool(true)
Array
(
    [0] => test1
    [1] => test2
    [2] => test10
)
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月26日 (月)
コンテンツを公開しました。