$access_community = 1;
$access_content = 1;
$access_tools = 1;
$access_administrator = 0;
$access_moderator = 0;
只是想知道是否有更简单的方法来使用数组编写它?这看起来有点矫枉过正。
谢谢!
答案 0 :(得分:6)
你可以做类似的事情(糟糕的可读性):
$access_community = $access_content = $access_tools = 1;
$access_administrator = $access_moderator = 0;
或者如前所述,使用数组:
$access = array('community' => 1,
'content' => 1,
'tools' => 1,
'administrator' => 0,
'moderator' => 0);
答案 1 :(得分:0)
如果您有更多变量,那么类似:
$access = array( 'community' => 1, 'content' => 1, ... );
foreach ($access as $k => $v) {
$real_name = 'access_' . $k;
$$real_name = $v;
}
可能会工作,但它不是那么好,甚至可能比现在的代码更难。我认为你所拥有的并不是太糟糕,说实话!
如果您有兴趣,可以使用间接引用或"variable variables"来实际定义新变量。不过,我对这里的范围不太了解。
当然,如果可以,尝试直接使用数组,而不是依赖于那里的变量 - 与变量不同,数组可以被更改和传递。
答案 2 :(得分:-1)
因为你几乎无法解释你在做什么以及为什么,我们只能猜测。
看起来有些ACL 因此,设置这些变量的唯一合理方法是将其存储在数据库中。特别是如果将来会有数十个。
http://phpgacl.sourceforge.net/可能就是你在寻找什么
因此,您的变量将使用数据库中的值进行分配。
至于你问的答案 - 不,没有其他方法可以用不同的值初始化不同的变量。您必须显式设置每个变量值。因此,您必须以某种方式定义变量名称和变量值。所以,
$variable = value
是最简单方便的方式 你可以使它更复杂,但核心仍然是相同的:“变量名称 - 变量值”对