【PHP8.x】natcasesortメソッドの使い方
natcasesortメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
natcasesortメソッドは、イテレータが内部で保持している配列を、大文字と小文字を区別しない「自然順」アルゴリズムでソートを実行するメソッドです。自然順ソートとは、文字列に含まれる数値を数値として解釈して並べ替える方法です。例えば、通常の文字列ソートでは "item10" が "item2" よりも前に来ることがありますが、自然順ソートでは人間が直感的に理解する通り "item2"、"item10" の順に並べ替えられます。このメソッドは、同じ自然順ソートを行う natsort 関数と似ていますが、比較の際にアルファベットの大文字と小文字を区別しないという特徴があります。これにより、"File2" と "file10" のような文字列も正しく順序付けされます。このメソッドは ArrayIterator オブジェクトが持つ配列そのものを直接変更し、キーと値の関連付けは維持されたままになります。ソートが成功した場合、PHP 8.0.0以降は常にtrueを返します。この機能は、ファイル名やバージョン番号のように、文字と数字が混在したデータを自然な順序で並べ替える際に非常に便利です。
構文(syntax)
1<?php 2 3// ソート対象の配列 4$array = ['img12.png', 'img10.png', 'IMG2.png', 'img1.png']; 5 6// ArrayIteratorオブジェクトを作成 7$iterator = new ArrayIterator($array); 8 9// 大文字小文字を区別しない自然順でソート 10$iterator->natcasesort(); 11 12// ソートされた要素を順に表示 13foreach ($iterator as $value) { 14 echo $value . PHP_EOL; 15} 16 17?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
true
ArrayIterator::natcasesort() は、要素を大文字小文字を区別せずに自然順ソートした結果を返します。ソートが成功した場合は boolean 値の true を返します。