2013-11-09 36 views
-1

我可以檢查該值是否在「用戶」中,但我無法檢查該值是否在「頁面」內 如何同時處理用戶和頁面?檢查數組中是否有數組和陣列存在的值

$mypages = array(
'Pages' => array('pages' => array('add_page', 'edit_page')), 
'Users' =>array('view_all_users', 'add_user')); 

foreach($mypages as $keys => $key): 
    $display = in_array($_GET['page'], $key) ? "block" : "none"; 
    echo '<ul style="display:'.$display.';"></ul>'; 
endforeach; 
+0

可能重複[在\ _array()和多維數組(http://stackoverflow.com/questions/4128323/in-array-and-multidimensional-array) – user4035

回答

1

它應該做的:的

if(is_array($key) && array_key_exists('pages', $key)) { 
    $display = in_array($_GET['page'], $key['pages']) ? "block" : "none"; 
} else { 
    $display = in_array($_GET['page'], $key) ? "block" : "none"; 
} 
+0

那麼它不會爲用戶 – user4035

+0

工作是的,它不會在用戶中工作。 – user1157768

+0

@ user4035我錯過了一部分問題。編輯的答案對兩者都適用! –

0

你可以試試這個,

foreach($mypages as $keys => $key): 
    $display ='none'; 
     if(!is_array($key)){ 
      $display = in_array($_GET['page'], $key) ? "block" : "none"; 
     }else{ 
      $display = in_array($_GET['page'], $key['indexname']) ? "block" : "none"; 
     } 
     echo '<ul style="display:'.$display.';"></ul>'; 
endforeach;