PHPでは、2つの関数array_fill()とarray_keys()を使用して、arrayのキー値を初期化し、各キーに同じ値を設定できます。これら2つの組み合わせにより、大量のデータを処理すると、コードの効率と読みやすさが向上する可能性があります。
array_keys()関数は、配列内のすべてのキー名の配列を返し、配列内のすべてのキーを抽出するために使用できます。この関数の構文は次のとおりです。
array_keys(array $array, mixed $value = null, bool $strict = false) : array
$配列:元の配列。
$ value :見つける値、デフォルトはnullです。
$ strict :厳密に比較するかどうか、デフォルトはfalseであり、データ型が区別されないことを示します。
array_fill()関数は、塗料が指定された位置から始まり、すべての要素に同じ値を割り当てることを指定する配列を入力するために使用されます。その構文は次のとおりです。
array_fill(int $start_index, int $num, mixed $value) : array
$ start_index :開始するインデックス。
$ num :埋める要素の数。
$ value :埋める値。
いくつかのデータを備えた配列があるとします。その配列のすべてのキー名を新しい配列に設定し、各キーに同じ値を設定する必要があります。これを達成する方法を示すサンプルコードを次に示します。
<?php
// オリジナル配列
$originalArray = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
];
// 配列のすべてのキー名を取得します
$keys = array_keys($originalArray);
// 使用 array_fill() 新しい配列を作成します,すべてのキーを同じ値に設定します
$filledArray = array_fill(0, count($keys), 'm66.net');
// 使用 array_combine() キー名とパッド入り値を新しい連想配列に組み合わせる
$newArray = array_combine($keys, $filledArray);
// 出力結果
print_r($newArray);
?>
Array_Keys($ originalArray)は、元の配列$ originalArrayのすべてのキー名を抽出し、 $キーアレイに保存します。
array_fill(0、count($ keys)、 'm66.net')はインデックス0で始まり、 $ keys配列と同じ長さの新しい配列を作成し、各要素の値「m66.net」を設定します。
array_combine($ keys、$ fillarray)は、 $ keysと$ fillarrayを新しい連想配列に融合し、キー名は$キーに由来し、各キーの対応する値は「m66.net」です。
上記のコードを実行した後、出力は次のとおりです。
Array
(
[a] => m66.net
[b] => m66.net
[c] => m66.net
)
このアプローチは、特に構成項目を操作したり、フォームデータを初期化する場合、アレイデータをバッチで初期化する必要があるシナリオに非常に適しています。たとえば、複数の設定を初期化する必要があるWebサイトがあると仮定します。各設定には同じデフォルト値が必要です。この方法でこの要件をすばやく達成できます。
この記事が、array_fill()とarray_keys()を使用してarrayのキー値を初期化し、各キーに同じ値を設定する方法を理解するのに役立つことを願っています。ご質問がある場合は、お気軽にお問い合わせください!