Rob*_*Rob 1 php associative-array multidimensional-array
我一直用PHP制作一个IRC机器人.我给了不同用户特定的访问级别在0到5之间.0是访客,5是管理员.
我一直在尝试编写一个命令,当用户访问它时,它会向他们发送一个允许他们使用的命令和语法列表.
到目前为止,我有类似的东西
$array = array
(
"5" => $commands = array
(
"test" => $test2 = array
(
"trigger" => "!test",
"descrip" => "Just testing."
)
"test2" => $test3 = array
(
"trigger" => "!lol",
"descrip" => "another test."
)
)
);
Run Code Online (Sandbox Code Playgroud)
我不知道如何循环通过它 if ($accessLevel == 5) then show commands for $array[5(and below)]
最后我希望它发送出去 $array[5][command][trigger] : $array[5][command][descrip]
我不一定需要你为我编码,只是向正确的方向推进会有所帮助.
这应该做...(检查权限级别)
foreach($array as $level => $priv){
// check for privilege level
if($level >= $accessLevel){
// loop through privilege array
foreach($priv as $command => $list){
foreach($list as $trigger => $description)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在旁注中,不是使用字符串键进行级别,而是可以使用数组指示,这样可以将组合的外部foreach/if组合写为
for($i = $accessLevel; $i >= 0; $i--){
$priv = $array[$i];
//...
}
Run Code Online (Sandbox Code Playgroud)