アプリケーション、特にユーザー許可管理を含むシステムを開発する場合、通常、バッチ初期化するには許可フィールドが必要です。 PHPは非常に実用的な関数array_fill_keysを提供します。これは、この機能を迅速に実装するのに役立ちます。この記事では、 array_fill_keys関数を使用してユーザーの許可フィールドを初期化する方法を紹介します。
array_fill_keys関数は、指定されたキーで配列を入力するために使用されます。関数の構文は次のとおりです。
array array_fill_keys(array $keys, mixed $value);
$キー:すべてのキーを含む配列。
$値:配列値を入力するために使用されるコンテンツ。
この関数は新しい配列を作成し、配列のキーは着信$キーアレイの各要素であり、対応する値は$ valueパラメーターの値です。
各ユーザーの許可フィールドのセットの初期化が必要なユーザー管理システムを開発しているとします。各許可フィールドの名前が固定されており、各許可フィールドのデフォルト値を設定する必要があります(たとえば、 Falseは許可が有効になっていないことを意味します)。
たとえば、次の許可フィールドがあります。
can_edit
can_delete
can_create
can_view
array_fill_keys関数を使用して、これらのフィールドのデフォルト値を初期化することができます。
<?php
// すべての許可フィールドを定義します
$permissions = [
'can_edit',
'can_delete',
'can_create',
'can_view'
];
// 使用 array_fill_keys すべての許可フィールドを初期化します false
$user_permissions = array_fill_keys($permissions, false);
// 初期化された許可配列を印刷します
print_r($user_permissions);
?>
Array
(
[can_edit] =>
[can_delete] =>
[can_create] =>
[can_view] =>
)
上記のコードを介して、 array_fill_keysを使用して新しい配列$ user_permissionsを作成します。各許可フィールドがfalseに初期化され、ユーザーがこれらのアクセス許可を持っていないことを示します。
システム操作中、特定の許可フィールドの値を更新する必要がある場合は、配列の対応するキーに直接アクセスして新しい値を割り当てることができます。たとえば、ユーザーのcan_edit許可フィールドをtrueに割り当てたい場合は、これを行うことができます。
// 更新します can_edit 許可はです true
$user_permissions['can_edit'] = true;
// 打印更新します后的权限数组
print_r($user_permissions);
データベースからユーザーの許可情報を取得し、ユーザーにいくつかのアクセス許可がない場合、 Array_fill_keysを使用して欠落許可を初期化できます。たとえば、データベースから許可フィールドの一部を取得し、 array_fill_keysを使用して欠落フィールドのデフォルト値を入力できるとします。
// データベースから取得したユーザー許可(データベースは部分的な権限のみを返すと仮定します)
$user_permissions_from_db = [
'can_edit' => true,
'can_view' => false
];
// すべての許可フィールドを定義します
$all_permissions = ['can_edit', 'can_delete', 'can_create', 'can_view'];
// 不足している許可フィールドを取得します,デフォルト値を入力します
$missing_permissions = array_diff($all_permissions, array_keys($user_permissions_from_db));
$missing_permissions = array_fill_keys($missing_permissions, false);
// 取得した権限が欠落しているとマージします
$user_permissions = array_merge($user_permissions_from_db, $missing_permissions);
// エンドユーザー権限を印刷します
print_r($user_permissions);
Array
(
[can_edit] => 1
[can_view] =>
[can_delete] =>
[can_create] =>
)
array_fill_keys関数を使用すると、特に許可管理システムでのユーザー許可フィールドのバッチ初期化が容易になります。各許可フィールドにデフォルト値を指定することにより、初期化時にユーザー許可の一貫性を確保できます。同時に、許可情報ソースが不完全な場合、不足しているフィールドを簡単に記入して、システムの完全性と堅牢性を確保することもできます。
この記事が、PHPのarray_fill_keys関数を使用してユーザー許可フィールドを初期化し、実際のプロジェクトに適用する方法をよりよく理解するのに役立つことを願っています。