PHPでは、 Array_combine関数を使用して、2つの配列のキーと値を連想配列に組み合わせることができます。特に、2つの構成ファイルのキー価値ペアを完全な構成配列にマージする必要がある場合は、非常に便利です。
今日は、 Array_combineを使用して、2つの構成ファイルのキー価値ペアを実用的な例とマージする方法を示します。
異なる情報を保存する2つの構成ファイルがあるとします。 1つの構成ファイルには構成キーが含まれ、もう1つの構成ファイルには対応する値が含まれます。 array_combine関数を使用して、完全な構成配列にマージできます。
これを達成する方法を見てみましょう。
keys.phpとvalues.phpの2つの構成ファイルがあり、その内容が次のとおりであるとします。
keys.php
<?php
return [
'host',
'username',
'password',
'database'
];
values.php
<?php
return [
'm66.net',
'admin',
'secretpassword',
'my_database'
];
これらのファイルでは、 keys.phpには構成項目(ホスト、ユーザー名などなど)の名前が含まれ、 phpにはこれらの構成項目に対応する値が含まれます。
次のコードを使用すると、これら2つのファイルをロードして、その内容を連想配列にマージできます。
<?php
// 2つの構成ファイルが含まれています
$keys = include('keys.php');
$values = include('values.php');
// 使用 array_combine キーと値をマージします
$config = array_combine($keys, $values);
// マージされた構成配列を印刷します
print_r($config);
?>
最初にincludeステートメントを使用して、 keys.phpおよびvalues.phpファイルの内容をロードします。
次に、 array_combine($ keys、$ values)を使用して、2つの配列を連想配列に結合します。 $ keys配列の要素は新しい配列のキーになり、 $ valuesアレイの要素は新しい配列の値になります。
最後に、 print_rを使用して、マージされた構成配列を印刷し、結果を表示します。
上記のコードを実行した後、次の出力が取得されます。
Array
(
[host] => m66.net
[username] => admin
[password] => secretpassword
[database] => my_database
)
array_combine関数を介して、2つの構成ファイルのキー価値ペアを完全な構成配列に正常にマージします。
配列の長さの一貫性: array_combine関数は、2つの配列の長さが同じでなければならない必要があります。 $ keysアレイの要素の数が$ valuesアレイの要素の数と一致しない場合、関数はfalseを返し、警告をスローします。
キーユニークさ:マージされた配列では、キーは一意でなければなりません。両方の配列に重複キーがある場合、次のキーに対応する値が上書きされます。