【PHP】配列・連想配列を追加、結合する関数|array_unshift ・array_push・array_merge
今回は、PHPで個人的によく使う、配列・連想配列を結合・追加する関数のまとめとなります。
配列の最初に要素を追加|array_unshift
array_unshift関数では、第1引数に指定した配列の先頭に、第2引数以降に指定した要素を追加します。また、戻り値は処理後の配列の要素数となります。
以下、array_unshift関数の例となります。
$array = array( "竹山", "永井マネージャー" );
$result = array_unshift( $array, "ザキヤマ", "河本" );
// 処理後の配列
print_r( $array );
// 処理後の配列の要素数
print_r( "<br>配列の要素数は" . $result );
出力結果
Array (
[0] => ザキヤマ
[1] => 河本
[2] => 竹山
[3] => 永井マネージャー
)
配列の要素数は4
キーが文字列の連想配列を扱う場合
キーが文字列の連想配列はarray_unshift関数ではを扱えません。そのため、連想配列を追加するにはarray_merge関数などで追加します。
配列の最後に要素を追加|array_push
array_push関数では、第1引数に指定した配列の最後に、第2引数以降に指定した要素を追加します。また、戻り値は処理後の配列の要素数となります。
以下、array_push関数の例となります。
$array = array( "竹山", "永井マネージャー" );
$result = array_push( $array, "ザキヤマ", "河本" );
// 処理後の配列
print_r( $array );
// 処理後の配列の要素数
print_r( "<br>配列の要素数は" . $result );
出力結果
Array (
[0] => 竹山
[1] => 永井マネージャー
[2] => ザキヤマ
[3] => 河本
)
配列の要素数は4
キーが文字列の連想配列を扱う場合
キーが文字列の連想配列はarray_push関数ではを扱えません。そのため、連想配列を追加するにはarray_merge関数などで追加します。
配列・連想配列を結合|array_merge
array_merge関数は、引数に指定した配列・連想配列を、順番で結合して返します。
以下、array_merge関数の例となります。
$array1 = array(
"竹山",
"マネージャー" => "永井",
"事務所" => "サンミュージック"
);
$array2 = array(
"ザキヤマ",
"事務所" => "人力舎"
);
$output = array_merge( $array1, $array2 );
print_r( $output );
出力結果
Array (
[0] => 竹山
[マネージャー] => 永井
[事務所] => 人力舎
[1] => ザキヤマ
)
結合する配列のキーが同じ文字列の場合は上書き
上記例のようにarray_merge関数では、結合する配列に同じ文字列のキーがある場合、 前の値は上書きされます。
キーがインデックス(添字)の場合には値は上書きされず、処理後の配列で0から始まる連続したインデックスとなります。
また、配列を上書きできる関数は他にもあります。詳しくは以下のリンク先を参考にしてみてください。