2013-11-09 2 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

가능한 중복 (http://stackoverflow.com [\ _array() 및 다차원 배열]/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;