今日の人気記事

  1. PHPのダウンロードとインストール - Windows10
  2. 数値の小数点以下を処理(四捨五入・切り捨て・切り上げ) - round関数、floor関数、ceil関数
  3. 文字列のエンコーディング検出順の取得と設定 - mb_detect_order()
  4. if、else、elseif - 条件分岐
  5. 数字の表記を3桁のカンマ区切りに - number_format()

配列を結合 - array_merge()

プログラミング言語PHPで、指定した複数の配列を結合する関数 array_merge()を紹介します。

array_merge関数

array array_merge ( array $array1 [, array $... ] )
指定した複数の配列を結合します。
配列のキーが同じ場合は、後に指定した配列が前の配列を上書きします。
同じ配列キーを持つ要素をひとつにまとめる場合は、array_merge_recursive関数を使います。
引数
$array
結合する配列を指定します。
返り値
結合した配列を返します。
通常の配列(キーが数字)の場合は、数字が再び振り直されます。
連想配列(キーが文字列)の場合は、そのまま引き継ぎます。

サンプルコード - 通常の配列の結合

配列から指定した値(ここでは、大文字のPHP)を検索するサンプルコードです。

array_merge( 配列1, 配列2, ... );
<?php
/* 配列を定義 */
$os = array('Windows', 'Mac', 'Linux');
$prog = array('PHP', 'Perl', 'Ruby', 'BASH');

/* 配列を結合 */
print_r( array_merge($os,$prog) );
?>

実行結果です。

Array
(
    [0] => Windows
    [1] => Mac
    [2] => Linux
    [3] => PHP
    [4] => Perl
    [5] => Ruby
    [6] => BASH
)

配列のキーが数字の配列を結合したので、配列のキーが振り直されています。

サンプルコード - 連想配列の結合

次は連想配列を結合してみましょう。

array_merge( 連想配列1, 連想配列2, ... );
<?php
/* 配列を定義 */
$os = array('OS1' => 'Windows', 'OS2' => 'Mac', 'OS3' => 'Linux');
$prog = array('Prog1' => 'PHP', 'Prog2' => 'Perl', 'OS3' => 'Ruby', 'Prog4' => 'BASH');

/* 配列を結合 */
print_r( array_merge($os,$prog) );
?>

実行結果です。

Array
(
    [OS1] => Windows
    [OS2] => Mac
    [OS3] => Ruby
    [Prog1] => PHP
    [Prog2] => Perl
    [Prog4] => BASH
)

連想配列(キーが文字列)を結合したので、結合前の配列キーが引き継がれています。また、配列のキーが同じ値(ここでは、OS3)の場合は、後に指定した配列の値が上書きします。

関連記事(一部広告含む)