PHP8配列操作の極意
配列結合の基本
PHP8 で配列を扱う際に頻繁に使われる関数の一つが array_merge です。複数の配列を一つにまとめるだけでなく、キーが重複した場合は後の配列の値で上書きされる点に注意が必要です。以下の例では、2 つの配列を結合し、重複キーを確認しています。
$a = ['id' => 1, 'name' => 'Alice'];
$b = ['id' => 2, 'email' => 'alice@example.com'];
$c = array_merge($a, $b);
// $c は ['id' => 2, 'name' => 'Alice', 'email' => 'alice@example.com']
配列結合はデータ統合や設定ファイルのマージなど、さまざまな場面で活躍します。
データ抽出と存在確認
配列から特定の列だけを抜き出したい場合は array_column が便利です。さらに、抽出した値の中に特定の要素が存在するかを確認するには in_array を併用します。以下のコードは、ユーザー情報の配列からメールアドレスだけを取り出し、特定のメールがあるかどうかをチェックします。
$users = [
['id' => 1, 'email' => 'alice@example.com'],
['id' => 2, 'email' => 'bob@example.com'],
];
$emails = array_column($users, 'email');
$exists = in_array('charlie@example.com', $emails); // false
この組み合わせは、データ抽出と存在確認を一度に行いたい場合に非常に効率的です。
フィルタリングの実践
配列の要素を条件で絞り込むには array_filter を使います。PHP8 では型宣言やクロージャの改善により、より安全にフィルタリングが可能です。以下は、数値配列から偶数だけを抽出する例です。
$numbers = [1, 2, 3, 4, 5, 6];
$evens = array_filter($numbers, fn(int $n) => $n % 2 === 0);
// $evens は [2, 4, 6]
フィルタリングはデータの前処理や検索結果の絞り込みに欠かせないテクニックです。PHP8 の新機能を活かして、より読みやすく安全なコードを書きましょう。
コメント
コメントを投稿