スポンサーリンク

PHPのスプレッド演算子とは?多次元配列を簡単に結合する方法

PHP
スポンサーリンク
本ページにはプロモーションが含まれています。

PHPにおける「...」は「スプレッド演算子」または「引数のアンパック演算子」と呼ばれています。これは、配列を展開して、関数の引数として渡す際に便利です。

具体的には、配列を要素ごとに展開して array_merge() などの関数に渡す場合に使用されます。通常、array_merge() は複数の配列を引数に取りますが、2次元配列を引数として渡すときには、その各配列を個別に渡す必要があります。スプレッド演算子を使うことで、2次元配列の各要素(配列)を1つずつ引数として展開して渡せるようになります。

スポンサーリンク

スプレッド演算子の例

通常の array_merge() の使い方

<?php
$array1 = [1, 2, 3];
$array2 = [4, 5, 6];

// 配列を結合
$mergedArray = array_merge($array1, $array2);

print_r($mergedArray); // [1, 2, 3, 4, 5, 6]
?>

スプレッド演算子 ... の使い方

<?php
$array = [
    [1, 2, 3],
    [4, 5, 6],
];

// スプレッド演算子を使って配列を展開し、結合
$mergedArray = array_merge(...$array);

print_r($mergedArray); // [1, 2, 3, 4, 5, 6]
?>

スプレッド演算子の役割

  • ...$array は、$array の中の各要素([1, 2, 3][4, 5, 6])を、それぞれ個別の引数として array_merge() に渡しています。
  • もしスプレッド演算子を使わずに、単に $array を渡すと、2次元配列のまま1つの引数として渡されてしまい、期待どおりに動作しません。

スプレッド演算子なしの例(間違った使用例)

<?php
$array = [
    [1, 2, 3],
    [4, 5, 6],
];

// スプレッド演算子を使わないと、2次元配列が結合されない
$mergedArray = array_merge($array);

print_r($mergedArray); // これはエラーが発生します
?>

まとめ

...(スプレッド演算子)を使うことで、2次元配列を各配列ごとに展開して array_merge() に渡すことができ、正しく配列を結合できます。

PHP
スポンサーリンク
FOLLOW
たろのプログラミング日記
タイトルとURLをコピーしました