簡體   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