array_combine

関数の概要

array_combineは、2つの配列を使って連想配列(キーと値のペア)を作成するPHPの関数です。1つ目の配列の要素がキーとなり、2つ目の配列の要素が対応する値となります。この関数を使うことで、キーと値がそれぞれ別の配列に分かれている場合でも簡単に連想配列を生成できます。

パラメータの説明

  • array $keys: 連想配列のキーになる配列。すべてのキーは一意でなければなりません。
  • array $values: 連想配列の値になる配列。キーの配列の各要素に対して、値の配列から対応する要素が割り当てられます。

戻り値

成功すると、array_combineはキーと値に基づいた連想配列を返します。キーと値の配列の要素数が異なる場合は FALSE を返します。

使用例

基本的な使い方

<?php
$keys = ['apple', 'banana', 'orange'];
$values = ['赤', '黄色', 'オレンジ色'];

$result = array_combine($keys, $values);
print_r($result);
?>

この例では、果物名の配列をキーに、色の配列を値にして連想配列を作成しています。結果は以下のようになります。

Array
(
    [apple] => 赤
    [banana] => 黄色
    [orange] => オレンジ色
)

数値配列をキーに使う例

<?php
$keys = [10, 20, 30];
$values = ['十', '二十', '三十'];

$array = array_combine($keys, $values);
var_dump($array);
?>

この例では、数値の配列をキーに用いて日本語の数詞を値に持つ連想配列を生成しています。

要素数が異なる場合の挙動

<?php
$keys = ['a', 'b'];
$values = [1, 2, 3];

$result = array_combine($keys, $values);

var_dump($result);
?>

キーと値の配列の要素数が異なるため、FALSEが返されます。要素数は必ず一致させる必要があります。

空配列を渡した場合

<?php
$keys = [];
$values = [];

$result = array_combine($keys, $values);

var_dump($result); // bool(false)
?>

両方の配列が空でもエラーとはならず、FALSEが返されます。少なくとも1つ以上の要素が必要です。

関連する関数

  • array_keys – 配列のキーだけを取得
  • array_values – 配列の値だけを取得
  • array_merge – 配列を結合する
  • array_map – 配列の要素にコールバック関数を適用する

まとめ

array_combineは、キーと値が別々の配列にある場合に連想配列を簡単に作成できる便利な関数です。要素数が一致していないと使えないため、事前に配列の数をチェックすることが実務上は重要です。配列操作の中でも基本かつよく使う関数なので、覚えておくと効率的にPHPのプログラムを書けるようになります。