1. PHP

PHPで配列を操作しよう!ソート・検索・要素削除の基本テクニック

Share

PHPでデータを扱う上で配列操作は必須スキルです。

この記事では、配列の「ソート」「検索」「要素削除」の基本テクニックをわかりやすく解説します。

代表的な関数をマスターして、効率的に配列を操作できるようになりましょう。

配列をソートする

sort():値を昇順にソート

$array = [5, 3, 8, 1];
sort($array);
print_r($array); // Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 8 )

配列の要素を値で昇順に並べ替えます。

キーは0からの連番に振り直されるため、キーを保持したい場合は他の関数を使いましょう。

rsort():値を降順にソート

$array = [5, 3, 8, 1];
rsort($array);
print_r($array); // Array ( [0] => 8 [1] => 5 [2] => 3 [3] => 1 )

配列の要素を値で降順に並べ替えます。こちらもキーは0から再割り当てされます。

asort():連想配列の値で昇順ソート(キーを保持)

$array = ['a' => 2, 'b' => 1, 'c' => 3];
asort($array);
print_r($array); // Array ( [b] => 1 [a] => 2 [c] => 3 )

値でソートする点はsortと同じですが、asortはキーを保持したままソートできます。連想配列で値順に並べたいときに便利です。

ksort():連想配列のキーで昇順ソート

$array = ['b' => 1, 'a' => 2, 'c' => 3];
ksort($array);
print_r($array); // Array ( [a] => 2 [b] => 1 [c] => 3 )

連想配列をキーの値を基準に昇順で並べ替えます。連想配列のキー順に要素を整理したいときに使用します。

配列から値を検索する

in_array():配列内に値があるか調べる

$array = ['apple', 'banana', 'orange'];
if (in_array('banana', $array)) {
    echo 'バナナが見つかりました!';
}

指定した値が配列内に含まれているかどうかを真偽値で返します。条件分岐に使うことが多いです。

array_search():値のキーを取得する

$array = ['apple', 'banana', 'orange'];
$key = array_search('orange', $array);
if ($key !== false) {
    echo "オレンジは配列のインデックス $key にあります。";
}

指定した値が配列内に存在する場合、そのキーを返します。見つからない場合はfalseになります。

配列から要素を削除する

unset():指定のキーを削除

$array = ['apple', 'banana', 'orange'];
unset($array[1]); // bananaを削除
print_r($array); // Array ( [0] => apple [2] => orange )

配列から特定の要素を削除できます。削除後、配列のキーは再構築されません。

array_splice():範囲を指定して削除

$array = ['apple', 'banana', 'orange', 'grape'];
array_splice($array, 1, 2); // index 1から2つ削除
print_r($array); // Array ( [0] => apple [1] => grape )

配列の指定した位置から、指定した数の要素を削除できます。

また、削除した位置に新しい要素を挿入することもできます。

配列操作のまとめ

  • ソートはsort, asort, ksortなどを使い分ける
  • 検索はin_arrayやarray_searchが便利
  • 要素削除はunsetやarray_spliceで対応可能

配列操作をマスターして、PHPでのデータ処理をスムーズに進めましょう!

参考リンク