繁体   English   中英

定义这些变量的更简单方法?

[英]An easier way to define these variables?

$access_community = 1;
$access_content = 1;
$access_tools = 1;
$access_administrator = 0;
$access_moderator = 0;

只是想知道是否有更简单的方法来使用数组编写此代码? 这似乎太过分了。

谢谢!

您可以执行以下操作(出于可读性):

$access_community = $access_content = $access_tools = 1;
$access_administrator = $access_moderator = 0;

或如前所述,使用数组:

$access = array('community' => 1,
                'content' => 1,
                'tools' => 1,
                'administrator' => 0,
                'moderator' => 0);

如果您有更多的变量,则类似于:

$access = array( 'community' => 1, 'content' => 1, ... );
foreach ($access as $k => $v) {
    $real_name = 'access_' . $k;
    $$real_name = $v;
}

可能会工作,但是效果不是很好,并且可能比现在的代码更加矫kill过正。 老实说,我认为您所拥有的还不错!

如果您有兴趣,可以使用间接引用或“变量”来实际定义新变量。 但是,我不太确定这里的范围。

当然,如果可以的话,请尝试直接使用数组,而不是依赖那里的变量-与变量不同,可以更改和传递数组。

因为您几乎无法解释您在做什么以及原因,所以我们只能猜测。

看起来像一些ACL
因此,设置这些变量的唯一明智的方法是将其存储在数据库中。 尤其是如果将来会有数十种这样的产品。

您可能正在寻找http://phpgacl.sourceforge.net/

因此,将为变量分配数据库中的值。

至于您要求的答案-不,没有其他方法可以用不同的值初始化不同的变量。 您必须显式设置每个变量值。 因此,您必须以某种方式定义变量名称和变量值。 所以,

$variable = value

是最简单,最便捷的方式。
您可以使它变得更复杂,但是在核心方面,它仍然相同:“变量名-变量值”对

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM