PHPのarray_merge()関数を使用し1つ以上の配列を1つの配列に結合(マージ)してみます。
array_merge()関数は、1つまたは複数の配列を、1つの配列として結合(マージ)することができます。
なお、array_merge()関数に配列を1つだけ割り当て、キーが整数の場合は、キーが「0」から始まり、値ごとに「1」ずつ増加する整数の新しい配列を返します。
さらに、array_merge()関数は、2つ以上の配列要素が同じキーを持つ場合、最後のキーが他のキーを上書きします。
■基本的な構文
array_merge(array1, array2, array3,...)
array1は、 結合(マージ)する配列を指定します。
array2,array3も、結合(マージ)する配列を指定します。
■環境
・Windows10
・XAMPP 8.0.6
・PHP Version 8.0.6
■array_merge()関数を使用し1つ以上の配列を1つの配列に結合(マージ)する
では、PHPのarray_merge()関数を使用し1つ以上の配列を1つの配列に結合(マージ)するスクリプトを書いていきます。
■コード
<html lang="ja">
<head>
<title>array_merge()関数を使用し1つ以上の配列を1つの配列に結合(マージ)する</title>
</head>
<body>
<?php
$a = array("a"=>"apple","b"=>"banana","c"=>"strawberry");
$b = array("d"=>"melon","e"=>"watermelon");
print_r(array_merge($a,$b));
?>
</body>
</html>
今回はaという変数を定義し、その中でarray()関数を使用し、キーと値のペアを格納します。これで配列が作成されます。
作成後、今度はbという変数を定義し、その中でarray()関数を使用し、キーと値のペアを格納し配列を作成します。
作成後、array_merge()関数を使用します。array_merge()関数の括弧内には、第1の引数,パラメーターとして、a変数を渡します。第2の引数,パラメーターとして、b変数を渡します。渡された情報を元に、a変数内の配列と、b変数内の配列がマージ(結合)され、マージ(結合)された配列を返します。
返された配列をprint_r()関数で出力します。
■実行
では、このスクリプトを「merge_arrays.php」という名前で保存し、実行させてみます。
実行してみると、array_merge()関数を使用したことで、a変数内の配列と、b変数内の配列がマージ(結合)され、マージ(結合)された配列をprint_r()関数で出力させることができました。
■キーが整数で1つの配列のみに対してarray_merge()関数を使用する
出力後、キーが整数で1つの配列のみに対してarray_merge()関数を使用する場合はどうなるのかやってみます。
■コード(merge_arrays_2.php)
<html lang="ja">
<head>
<title>array_merge()関数を使用し1つ以上の配列を1つの配列に結合(マージ)する</title>
</head>
<body>
<?php
$a = array(5=>"apple",6=>"banana",7=>"strawberry");
print_r(array_merge($a);
?>
</html>
aという変数を定義し、その中でarray()関数を使用し、キーと値のペアを格納します。この時、キーは整数となります。今回の整数は「0」から始まっていません。
■実行
この「merge_arrays_2.php」というスクリプトを実行してみると、array()関数を使用したことで、a変数内の配列がマージ(結合)されますが、今回は1つの配列しか存在しないため、マージ(結合)された後の配列は値はそのままで、キーが「0」から始まり、値ごとに「1」ずつ増加する整数が割り当てられた新しい配列となることが確認できました。
コメント