好的,所以我有这个功能。我已经把它剥离并删除了所有的html。将函数转换为OO方法
if($session->power == 'admin'){
$adminMenu= $user->admin_menu;
foreach($adminMenu as $key => $value):{
echo $value; echo $key;
} endforeach;
}
我试图变相成一种面向对象的方法,这一点,这是迄今为止我的方法:
用户类
public function get_menu(){
global $session;
$user_status = $session->power;
$adminMenus = $this->admin_menu; // associate array ($key => value)
$menu = array();
if($user_status == 'admin'){
foreach($adminMenus as $adminMenu):{
$menu = array($adminMenu);
return array_shift($menu);
} endforeach;
}
在显示文件然后
while($user->get_menu()){
echo $user->get_menu();
}
我知道t他完全错误 - 因为它不起作用。所以你可以帮助我使它面向对象。
您正在使用'foreach'以一种不可思议的方式。就像你正在结合正常的块风格和替代语法。这很混乱。只要删除':'和'endforeach;'(或者括号'{}')。 – 2011-04-10 00:20:55
也加入@Felix Kling的评论,这应该会导致一个致命的错误:'echo $ value echo $ key; ',以及foreach中的返回使foreach语句冗余 – RobertPitt 2011-04-10 00:36:20