現在の位置: ホーム> 最新記事一覧> 2つのリストを辞書フォームにマージします:array_combine

2つのリストを辞書フォームにマージします:array_combine

M66 2025-06-07

PHPでは、 Array_combine()関数は、2つの配列を連想アレイ(つまり、辞書)に結合するのに非常に適しています。この関数には2つのパラメーターが必要です。1つ目はキー配列、2つ目は値配列です。次に、最初の配列の要素をキーとして、2番目の配列の要素を値として返します。

関数プロトタイプ

array_combine(array $keys, array $values): array|false
  • $キー:辞書キーとして使用されるすべての要素を含むキーの配列。

  • $値:辞書値として使用されるすべての要素を含む値の配列。

返品値:

  • $キーの要素との関連配列をキーとして、 $ keysの要素を値として返します。

  • 2つの配列の要素の数が等しくない場合、または配列の1つが空である場合、関数はfalseを返します。

実用的な例

生徒の名前が付いた2つのリストが2つあり、もう1つは生徒の成績を持つリストがあるとします。これらのリストは、各生徒の成績を照会するために辞書に合流したいと考えています。

 <?php

// 学生名配列
$students = ['Alice', 'Bob', 'Charlie', 'David'];

// 学生グレードアレイ
$scores = [85, 92, 78, 88];

// 使用 array_combine 2つの配列を辞書に組み合わせます
$student_scores = array_combine($students, $scores);

// 出力結果
if ($student_scores !== false) {
    echo "学生の成績辞書:\n";
    print_r($student_scores);
} else {
    echo "一貫性のない配列長,マージできません!\n";
}

?>

コード解析

  1. 最初に2つの配列を定義します。 $の学生は学生の名前を保存し、 $スコアは対応するスコアを保存します。

  2. 次に、 array_combine()を使用して2つの配列を辞書に結合します。キーは学生の名前、値は学生の成績です。

  3. マージが成功した場合、リターンは連想配列であり、形式は次のとおりです。

     Array
    (
        [Alice] => 85
        [Bob] => 92
        [Charlie] => 78
        [David] => 88
    )
    
  4. 2つの配列が同じ長さでない場合、 array_combine()falseを返します。したがって、エラーを避けるために結果を確認する必要があります。

エラー処理と予防措置

  1. 配列の長さは一貫していません。2つの配列の長さが異なる場合、 array_combine()falseを返します。実際のアプリケーションでは、通常、アレイの長さを最初に確認するか、呼び出す前にそれらが同じであることを確認する必要があります。

  2. 空の配列:配列が空の場合、関数もfalseを返します。データを処理するときは、着信配列が空でないことを確認してください。

  3. キーユニークネス:組み合わせた辞書キーは一意でなければなりません。キーが重複している場合、次の値は以前の値をオーバーライドします。

例2:配列の長さを確認します

一貫性のない配列の長さによるエラーを回避するために、 array_combine()を使用する前に、2つの配列の長さを手動で確認できます。

 <?php

$students = ['Alice', 'Bob', 'Charlie', 'David'];
$scores = [85, 92, 78];

// 配列の長さが一貫しているかどうかを確認してください
if (count($students) === count($scores)) {
    $student_scores = array_combine($students, $scores);
    print_r($student_scores);
} else {
    echo "学生リストの長さはグレードリストと矛盾しています,マージできません!\n";
}

?>

一般的なアプリケーションシナリオ

  • ペアリングデータarray_combine()は、2つの関連する配列(名前や電話番号など)をペアにする必要がある場合、非常に効率的なツールです。

  • フォーム処理:フォームデータを受信する場合、フィールド名の配列とフィールド値の配列がある場合があります。 array_combine()を使用してそれらをマージして、操作が簡単な連想配列を形成できます。

まとめ

Array_combine()関数は、2つの対応するものを連想配列(辞書)に組み合わせるのに非常に適しており、ペアリングデータやフォーム処理などのシナリオでよく使用されます。それを使用する場合、2つの配列の長さが一貫していることを確認してください。そうしないと、関数がfalseを返し、キーが一意であることを確認します。