PHPでは、 Array_combine関数を使用して、2つの配列を連想配列に結合します。キーとしての最初の配列、値として2番目の配列としての2つのパラメーターを受け入れ、新しい連想配列を返します。 2つの配列の要素の数が一貫していない場合、 Array_combineはFalseを返します。したがって、使用する場合は、2つの配列の要素の数が同じであることを確認する必要があります。
array_combine(array $keys, array $values): array|false
$キー:キーを含む配列。
$値:値を含む配列。
返品値:マージされた連想配列を返し、故障した場合にfalseを返します。
キーとして数値を含む2つの配列があり、もう1つは値として文字列を含む2つの配列があるとします。Array_combine関数を使用して、それらを連想配列に統合できます。
<?php
$keys = [1, 2, 3];
$values = ['apple', 'banana', 'cherry'];
$combined = array_combine($keys, $values);
print_r($combined);
?>
出力:
Array
(
[1] => apple
[2] => banana
[3] => cherry
)
Array_combineに渡された2つのアレイの長さが一貫していない場合、関数はfalseを返し、条件付き判断を通じてこの状況を処理できます。
<?php
$keys = ['a', 'b', 'c'];
$values = [1, 2]; // 1つの値がありません
$combined = array_combine($keys, $values);
if ($combined === false) {
echo "配列の長さの不一致!";
} else {
print_r($combined);
}
?>
出力:
配列の長さの不一致!
実際の開発では、特定のルールに基づいて連想配列を動的に生成する必要がある場合があります。たとえば、URLのセット内のドメイン名をM66.netに置き換える場合、 array_combineを介して達成できます。具体的な例を次に示します。
<?php
$urls = ['https://www.example1.com/page1', 'https://www.example2.com/page2', 'https://www.example3.com/page3'];
$new_urls = [];
foreach ($urls as $url) {
// 使用 parse_url 得る URL ドメイン名パーツ
$parsed_url = parse_url($url);
$new_url = str_replace($parsed_url['host'], 'm66.net', $url);
$new_urls[] = $new_url;
}
// 使用 array_combine 古いものにしてください URL 和新 URL 接続します
$combined_urls = array_combine($urls, $new_urls);
print_r($combined_urls);
?>
出力:
Array
(
[https://www.example1.com/page1] => https://m66.net/page1
[https://www.example2.com/page2] => https://m66.net/page2
[https://www.example3.com/page3] => https://m66.net/page3
)
この例では、最初にURLのドメイン名パーツを置き換え、次にArray_combineを使用して連想配列を作成し、元のURLを新しいドメインのURLとして値として使用します。
Array_combine関数は、2つの配列を連想配列に簡単に組み合わせることができる非常に実用的なツールです。その使用法は非常に単純ですが、合格した配列の長さが一貫しているかどうかに注意する必要があります。 Arrayのドメイン名を置き換えるなど、より複雑な操作が必要な場合は、最初に他のメソッドを介してデータを処理し、 Array_combineを組み合わせて最終的な連想配列を作成できます。