現在の位置: ホーム> 最新記事一覧> 配列内の各キーのデフォルト値を設定する方法

配列内の各キーのデフォルト値を設定する方法

M66 2025-06-06

PHPでは、 array_fill_keys()は、特定のキー名で新しい配列を入力し、各キーの統一されたデフォルト値を設定できる非常に便利な関数です。この記事では、この機能の使用方法を説明し、いくつかの実用的な例を示します。

array_fill_keys()関数の紹介

array_fill_keys()関数は2つのパラメーターを受け入れます。

  1. キー:入力するキー名を含む配列。

  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'を入力します。結果は、デフォルト値に関連付けられている各キーが返された新しい配列です。

array_fill_keys()を使用した実用的なアプリケーションシナリオ

実際の開発では、アレイ内の複数のキーに対して同じデフォルト値を設定する必要があるシナリオがある場合があります。たとえば、複数のフィールド(ユーザー名、電子メール、電話など)を含むユーザーフォームがあり、これらのフィールドを空の文字列またはデフォルト値に初期化する必要があるとします。

 <?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()の結果を入力として使用して続行できます。

例: array_map()を組み合わせて、配列値をさらに処理します

<?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ドメイン名を置き換える実際の操作

実際の開発では、URLを含む配列を処理する必要がある場合は、 array_fill_keys()を使用して文字列操作機能を使用して、URLのドメイン名パーツを均一に置き換えることができます。これが例です: