【PHP8.x】natsortメソッドの使い方
natsortメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
natsortメソッドは、RecursiveArrayIteratorが現在指している配列エントリを、自然順アルゴリズムを用いてソートを実行するメソッドです。自然順ソートとは、人間が直感的に期待する順序で文字列を並べ替える方法です。例えば、要素として「file1.txt」「file10.txt」「file2.txt」を持つ配列があった場合、標準的なソートでは文字列として比較されるため「file1.txt」「file10.txt」「file2.txt」の順になります。しかし、natsortメソッドによる自然順ソートでは、文字列中の数値をその大きさで認識するため、「file1.txt」「file2.txt」「file10.txt」という期待通りの順序に並べ替えます。このメソッドは多次元配列を再帰的に処理している最中に、現在の要素が配列である場合にその内部をソートするために使用します。このメソッドは返り値を返さず、対象の配列を直接変更します。もし現在のイテレータの位置が配列でない場合にこのメソッドを呼び出すと、BadMethodCallException例外がスローされるため注意が必要です。
構文(syntax)
1<?php 2 3$array = [ 4 'img12.png' => 'photo 12', 5 'img1.png' => 'photo 1', 6 'img10.png' => 'photo 10', 7 'img2.png' => 'photo 2' 8]; 9 10$iterator = new RecursiveArrayIterator($array); 11 12// "natural order"アルゴリズムでキーによってエントリをソートします 13$iterator->natsort(); 14 15foreach ($iterator as $key => $value) { 16 echo $key . ": " . $value . PHP_EOL; 17} 18 19?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
bool
natsortメソッドは、配列を自然順ソートした結果が正常に完了したかどうかを示す真偽値(bool)を返します。ソートが成功した場合は true を、失敗した場合は false を返します。