php natsortを使って自然な順番でソートする
phpでnatsort関数を使用して、人間が見やすい自然な順番でソートするサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- PHP 7.4.5
※windows10にApacheのインストールはこちら
※windows10にphpのインストールはこちら
natsort関数とは
natsort関数を利用すると、asortでは「test1,test10,test12 …」とソートされるところを
[0]=>
string(5) "test1"
[2]=>
string(6) "test10"
[3]=>
string(6) "test12"
[1]=>
string(5) "test2"
[4]=>
string(6) "test22"
「test1,test2,test10 …」 と、より人間が並び替えたような形でソートされます。
[0]=>
string(5) "test1"
[1]=>
string(5) "test2"
[2]=>
string(6) "test10"
[3]=>
string(6) "test12"
[4]=>
string(6) "test22"
サンプルコード
下記は、natsort関数とasort関数を利用したサンプルコードとなります。
<?php
$array1 = [ "test1", "test2", "test10", "test12", "test22" ] ;
asort( $array1 ) ;
echo "<pre>";
var_dump( $array1 );
echo "</pre>";
natsort( $array1 ) ;
echo "<pre>";
var_dump( $array1 );
echo "</pre>";
実行結果
また、natcasesort関数を利用すると、大文字小文字関係なく人間が並び替えたようなソートを行います。
下記は、natcasesortを使用したサンプルコードとなります。
<?php
$array1 = [ "test1", "test2", "test10", "Test12", "test22" ] ;
asort( $array1 ) ;
echo "<pre>";
var_dump( $array1 );
echo "</pre>";
natsort( $array1 ) ;
echo "<pre>";
var_dump( $array1 );
echo "</pre>";
natcasesort( $array1 ) ;
echo "<pre>";
var_dump( $array1 );
echo "</pre>";
実行結果
大文字小文字関係なくソートされていることが確認できます。
-
前の記事
javascript テキストボックスに入力されたの文字列を取得する 2020.08.19
-
次の記事
ubuntu20.04.1 jettyをインストールする手順 2020.08.19
コメントを書く