現在の位置: ホーム> 最新記事一覧> ステータス値がfalseのブール配列を作成します

ステータス値がfalseのブール配列を作成します

M66 2025-06-06

毎日のPHP開発では、各キーがブール値のfalseに対応する配列をすばやく初期化する必要がある場合があります。この時点で、 array_fill_keys関数は役立つ可能性があります。

array_fill_keysとは何ですか?

array_fill_keysは、特定のキー配列に基づいて同じ値を持つ新しいキーの新しい配列を生成するPHPの組み込み関数です。関数の署名は次のとおりです。

 array_fill_keys(array $keys, mixed $value): array
  • $キー:配列キーとして使用する配列。

  • $値:すべてのキーに対応する初期値。

例:すべての値がfalseでブールキーの配列を作成する

フォームフィールド検証ロジックを扱っており、検証に失敗するように初期化する一連のフィールド(つまり、FALSE)を扱っているとします。この時点で、次のコードを使用できます。

 <?php
$fields = ['username', 'email', 'password', 'confirm_password'];
$validationStatus = array_fill_keys($fields, false);

print_r($validationStatus);

出力:

 Array
(
    [username] => 
    [email] => 
    [password] => 
    [confirm_password] => 
)

print_rではfalse空であるように見えることに注意してください。

実用的なシナリオ:許可テーブルを初期化します

たとえば、許可制御アレイを初期化するために使用することもできます。

 <?php
$permissions = ['read', 'write', 'delete', 'publish'];
$userPermissions = array_fill_keys($permissions, false);

// その後、ユーザーの役割に基づいてパワーを付与できます
if ($userRole === 'editor') {
    $userPermissions['read'] = true;
    $userPermissions['write'] = true;
}

var_dump($userPermissions);

URLを組み合わせた例

Webサイトのナビゲーション状態など、ブール状態のリンクキーのセットを生成する場合は、これを行うことができます。

 <?php
$routes = [
    'https://m66.net/home',
    'https://m66.net/about',
    'https://m66.net/contact'
];

$navActive = array_fill_keys($routes, false);

// 現在のページがあると仮定します /about
$currentUrl = 'https://m66.net/about';
$navActive[$currentUrl] = true;

print_r($navActive);

出力は次のとおりです。

 Array
(
    [https://m66.net/home] => 
    [https://m66.net/about] => 1
    [https://m66.net/contact] => 
)

テンプレートをレンダリングするとき、このブール値に基づいてナビゲーションアイテムにアクティブなクラスを追加するかどうかを決定できます。

要約します

array_fill_keysは、初期状態配列を迅速に生成するのに適した簡潔で効率的な機能です。ブールフラグ、許可制御、ナビゲーションステータス、その他のシナリオに対処するのは非常に便利です。

次回ブールアレイを初期化する必要があるときは、この方法を試して、コードをより簡潔で読みやすくすることもできます。