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

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

作成日: 更新日:

基本的な使い方

asortメソッドは、ArrayObjectオブジェクトの要素を、値に基づいて昇順にソートを実行するメソッドです。このメソッドの最大の特徴は、ソート後も各要素のキーと値の関連付けが維持される点にあります。例えば、数値は小さいものから大きいものへ、文字列はアルファベット順に並び替えられますが、それぞれの値が元々持っていたキーは変更されずに保持されます。これは、単に値を並べ替えるだけでなく、元のデータ構造を保ちながら順序を整えたい場合に非常に便利です。ソートの振る舞いを細かく制御するために、オプションでフラグを指定することも可能です。例えば、SORT_NUMERICフラグは要素を数値として比較し、SORT_STRINGフラグは文字列として比較します。このメソッドはソート結果を新しく返すのではなく、呼び出し元のArrayObjectインスタンス自体を直接変更するため、戻り値はありません。

構文(syntax)

1<?php
2
3// ArrayObjectのインスタンスを作成します
4$arrayObject = new ArrayObject([
5    'd' => 'lemon',
6    'a' => 'orange',
7    'b' => 'banana',
8    'c' => 'apple'
9]);
10
11// 値(アルファベット順)に基づいて配列をソートします。
12// このとき、キーと値の関連は維持されます。
13$arrayObject->asort();
14
15print_r($arrayObject);
16
17/*
18実行結果:
19
20ArrayObject Object
21(
22    [c] => apple
23    [b] => banana
24    [d] => lemon
25    [a] => orange
26)
27*/

引数(parameters)

int $flags = SORT_REGULAR

  • int $flags = SORT_REGULAR: ソートの挙動を制御するフラグ。デフォルトは SORT_REGULAR で、通常通り比較します。

戻り値(return)

true

ArrayObject::asort メソッドは、ArrayObject の要素を値に基づいて昇順に並べ替え、成功した場合は true を返します。

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