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

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

作成日: 更新日:

基本的な使い方

『natcasesortメソッドは、RecursiveArrayIteratorの現在のエントリが配列である場合に、その配列を大文字小文字を区別しない「自然順」アルゴリズムでソートを実行するメソッドです。通常の辞書順ソート(sort関数など)では、文字列は文字コードに基づいて比較されるため、例えば "item10" は "item2" よりも前に配置されます。しかし、このメソッドが採用する自然順ソートでは、文字列中の数字部分を数値として認識し、人間が直感的に期待する順序、つまり "item2"、"item10" の順に並べ替えます。さらに、"natcasesort" の名前が示す通り、大文字と小文字を区別せずに比較を行うため、"Item2" と "item10" も同様にソートされます。この操作は配列のキーと値の関連付けを保持したまま行われます。ファイル名やバージョン番号など、アルファベットと数字が混在する要素を直感的な順序で並べ替えたい場合に特に有効です。ソートに成功するとtrueを返します。』

構文(syntax)

1<?php
2
3$array = [
4    'img12.png',
5    'img10.png',
6    'IMG2.png',
7    'img1.png'
8];
9
10$iterator = new RecursiveArrayIterator($array);
11
12// イテレータが指す配列を、大文字小文字を区別しない自然順でソートします
13$iterator->natcasesort();
14
15foreach ($iterator as $key => $value) {
16    echo "{$key}: {$value}" . PHP_EOL;
17}
18
19?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

【PHP8.x】natcasesortメソッドの使い方 | いっしー@Webエンジニア