【PHP8.x】natcasesortメソッドの使い方

natcasesortメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

natcasesortメソッドは、ArrayObjectインスタンスが内部で保持している配列を、「自然順」アルゴリズムを用いて大文字と小文字を区別せずにソートするメソッドです。このメソッドは、特にファイル名やバージョン番号のように、文字列の中に数字が含まれている要素を並べ替える際に便利です。通常の辞書順ソートでは item10item2 の前に来てしまいますが、自然順ソートでは人間が直感的に期待する通り、数値の大きさに基づいて item2item10 の順に並べ替えられます。natcasesortは、natsortメソッドと同様のアルゴリズムを使用しますが、ソートの際にアルファベットの大文字と小文字を同一視する点が異なります。例えば、File_Afile_a は同じ順序として扱われます。このソート処理は、元のキーと値の関連性を維持したまま行われるため、連想配列の構造を壊すことはありません。メソッドは、オブジェクトの内部配列を直接変更し、処理が完了すると常に true を返します。

構文(syntax)

1<?php
2// ソートしたいデータを持つArrayObjectのインスタンスを作成します
3$arrayObject = new ArrayObject([
4    'img12.png',
5    'img10.png',
6    'img2.png',
7    'IMG1.png'
8]);
9
10// natcasesort()メソッドを呼び出し、自然順アルゴリズムで
11// 大文字小文字を区別せずに要素をソートします。
12// このメソッドはオブジェクトの状態を直接変更します。
13$arrayObject->natcasesort();
14
15// ソート後のArrayObjectの内容をループで表示します
16foreach ($arrayObject as $value) {
17    echo $value . "\n";
18}
19
20/*
21出力結果:
22IMG1.png
23img2.png
24img10.png
25img12.png
26*/

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

ArrayObject::natcasesort メソッドは、ArrayObject オブジェクトの要素を、大文字小文字を区別せずに自然順で並べ替えるためのメソッドです。成功した場合は true を、失敗した場合は false を返します。