PHPでは、 array_fill_keys()は、特定のキー名で新しい配列を入力し、各キーの統一されたデフォルト値を設定できる非常に便利な関数です。この記事では、この機能の使用方法を説明し、いくつかの実用的な例を示します。
array_fill_keys()関数は2つのパラメーターを受け入れます。
キー:入力するキー名を含む配列。
値:各キーの値。
関数の基本的な使用法は、指定されたキーの統一されたデフォルト値を設定し、新しい配列を返すことです。
複数のキー名を持つ配列があり、これらのキーに統一されたデフォルト値を設定する必要があるとします。
<?php
// 複数のキー名を含む配列を定義します
$keys = ['a', 'b', 'c', 'd'];
// 使用 array_fill_keys 各キーのデフォルト値を入力します
$default_value = 'default_value';
$new_array = array_fill_keys($keys, $default_value);
// 出力結果
print_r($new_array);
?>
Array
(
[a] => default_value
[b] => default_value
[c] => default_value
[d] => default_value
)
上記の例では、 array_fill_keys()は、 array $キーの各キーのデフォルト値として'default_value'を入力します。結果は、デフォルト値に関連付けられている各キーが返された新しい配列です。
実際の開発では、アレイ内の複数のキーに対して同じデフォルト値を設定する必要があるシナリオがある場合があります。たとえば、複数のフィールド(ユーザー名、電子メール、電話など)を含むユーザーフォームがあり、これらのフィールドを空の文字列またはデフォルト値に初期化する必要があるとします。
<?php
// ユーザーフォームフィールド
$form_fields = ['username', 'email', 'phone', 'address'];
// デフォルト値を空の文字列に設定します
$empty_form = array_fill_keys($form_fields, '');
// 出力初期化されたフォームフィールド
print_r($empty_form);
?>
Array
(
[username] =>
[email] =>
[phone] =>
[address] =>
)
この例では、 array_fill_keys()を使用して、ユーザーフォームのフィールドの配列を初期化します。各フィールドには、後続のユーザー入力を容易にする空の文字列で満たされます。
array_fill_keys()関数は、他のPHPアレイ関数でよく使用されます。たとえば、配列を入力する必要があり、配列でフィルタリング、ソート、またはその他の処理を実行する必要がある場合は、 array_fill_keys()の結果を入力として使用して続行できます。
<?php
// デフォルト値をに設定します0
$keys = ['apple', 'banana', 'cherry'];
$default_value = 0;
$new_array = array_fill_keys($keys, $default_value);
// 配列値を処理します,増加1
$new_array = array_map(function($value) {
return $value + 1;
}, $new_array);
// 出力処理された配列
print_r($new_array);
?>
Array
(
[apple] => 1
[banana] => 1
[cherry] => 1
)
この例では、最初にarrayをarray_fill_keys()で埋め、次にarray_map()を介してarrayの各値に1を追加します。
実際の開発では、URLを含む配列を処理する必要がある場合は、 array_fill_keys()を使用して文字列操作機能を使用して、URLのドメイン名パーツを均一に置き換えることができます。これが例です: