2009-04-26 4 views
0

나는 이렇게 배열을 가지고있다 :PHP는 배열 도움. 정확한 내용 얻기

Array 
(
    [level] => Array 
     (
      [0] => Array 
       (
        [lvlName] => name 
        [lvlEnt] => ent 
       ) 

     ) 

    [title] => Array 
     (
      [0] => Array 
       (
        [title] => a title 
        [titleDesc] => desc here 
       ) 

     ) 

    [navBar] => Products 
    [pageContent] => About 
) 

누군가가 pageContent를 얻는 방법을 말해 줄 수 있습니까?

다음은 사용중인 코드이지만 정의되지 않은 인덱스가 나타납니다. 내가 어디로 잘못 가고 있는지 전혀 모른다.

foreach($bigArr as $key=>$val) 
{ 
    if($key['pageContent'] != null) 
    { 
    foreach($val as $fkey=>$fval) 
    { 
     echo $fkey['pageContent']; 
    } 
    } 
} 

루프는 다음을 제공합니다 :

PHP Notice: Undefined index: pageContent 
PHP Warning: Invalid argument supplied for foreach() 

누군가가 나에게 손을 줘 줄래? 감사

편집 : 잘못된 인수는 내가 당황한 것입니다.

답변

2

당신은 $bigArr['pageContent']와 값에 액세스 할 수 있습니다. 키와 값 :

+0

난 그냥. 그것을 알아 냈다 보아라. 고마워 친구! –

2

foreach에 대한 귀하의 첫 번째 호출은 당신에게 반복 당 데이터의 두 조각을주고있다. 열쇠는 당신이 $key'pageContent' 포함됩니다 해당 배열의 마지막 반복에 3

그래서 라인으로 사용하려고하고 있으며 $val

를 '정보'가 포함 될지 인 문자열이 아닌 배열 (이다 어떤 경우

, 당신이 무슨 일을하는지에 대한 foreach는의 사용은 불필요한 것 같다. 당신은 직접 array_key_exists()를 사용하여 'pageContent'키가 배열에 존재하는지 여부를 확인하고 똑바로 값을 가져올 수 있습니다.

if(array_key_exists('pageContent', $bigArr) && $bigArr['pageContent'] != null) 
{ 
    echo $bigArr['pageContent']; 
} 
난 그냥 취소 할 수있는 배열이 설정 한 방법으로 보았을 때
+0

안녕하세요 스티븐, 예제와 도움을 주셔서 대단히 감사합니다. 필자는 실제로 함수 목록을 확장해야하며 array_key_exists는 가지고있는 것이 좋다. 다시 한번 감사드립니다! 톰 –