当前位置: 首页> 最新文章列表> 用 array_fill_keys 如何创建一个初始为空的用户权限表?PHP 实战解析

用 array_fill_keys 如何创建一个初始为空的用户权限表?PHP 实战解析

gitbox 2025-08-27
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 前言:此部分与正文内容无关,可以放置一些初始化代码或调试信息</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(E_ALL);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"初始化完成,准备开始文章内容展示...\n"</span></span><span>;

</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 正文开始</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>用 array_fill_keys 如何创建一个初始为空的用户权限表?PHP 实战解析</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在 PHP 开发中,我们经常需要为一组用户或者角色初始化权限表。假设有一个用户列表,每个用户初始的权限为空(或者默认值为 null),那么如何高效地生成这样的数组呢?PHP 提供了一个非常方便的函数:<code>array_fill_keys
"; echo "

2. 示例:创建用户权限表

"
; echo "

假设我们有以下用户:

"
; echo "
\$users = ['alice', 'bob', 'charlie'];
"
; echo "

我们希望为每个用户初始化一个空权限数组:

"
; echo "
\$permissions = array_fill_keys(\$users, []);
"
; echo "

执行后,\$permissions 的内容如下:

"
; echo "
"</span></span><span>;
</span><span><span class="function_ invoke__">print_r</span></span><span>(</span><span><span>$permissions</span></span><span>);
</span><span><span>echo</span></span><span> </span><span><span>"
"
; echo "

3. 动态赋初始权限

"
; echo "

如果我们希望每个用户初始权限不是空数组,而是某个默认值,比如 'read' 权限:

"
; echo "
\$permissions = array_fill_keys(\$users, ['read']);
"
; echo "

结果如下:

"
; echo "
"</span></span><span>;
</span><span><span class="function_ invoke__">print_r</span></span><span>(</span><span><span>$permissions</span></span><span>);
</span><span><span>echo</span></span><span> </span><span><span>"
"
; echo "

4. 小结

"
; echo "

通过 array_fill_keys,我们可以快速创建键为用户名(或角色名)、值为初始权限的数组,省去了使用循环手动赋值的麻烦,非常适合在初始化用户权限表时使用。

"
; ?>