2014-11-27 3 views
1

다차원 배열 일 수도 있고 그렇지 않을 수도있는 배열에 데이터를 표시하는 방법에 대한 지침이 필요합니다. 표시 할 여러 필드가있는 경우배열을 통해 반복되는 PHP

if (count($array) == count($array, COUNT_RECURSIVE)){ 
    echo $array['Name']; 
    echo $array['Surname']; 
    echo $array['Email']; 
}else{ 
    foreach($res as $val){ 
     echo $val['Name'];  
     echo $val['Surname']; 
     echo $val['Email']; 
    } 
} 

확인이 작품은, 그러나, 중복 코드를 많이 의미 하는가 -

나는 현재이 사용합니다.

중복되지 않도록 코드를 압축하는 방법이 있습니까?

+0

배열 데이터를 표시하는 함수를 작성하십시오. – user3510665

+0

재귀 적 반복기 함수를 사용하십시오. 당신은 기본적으로 당신이 가지고있는 것의 중간에 있습니다. 수동으로 재귀 함수를 수행하거나 OOP 반복기 클래스를 사용하는 방법을 찾으십시오 – Rasclatt

+0

이것이 실제 코드입니까? 마찬가지로 필드를 출력하는 것입니까? – David

답변

1

쉬운 틀림없이 배열을 수정하는 것이 필요한 경우 :

if (count($array) == count($array, COUNT_RECURSIVE)) { 
    $array = array($array); 
} 

foreach($res as $val){ 
    echo $val['Name'];  
    echo $val['Surname']; 
    echo $val['Email']; 
} 
+0

완벽하다, 내가 필요한 바로 그 것이다. – djcamo

0

이렇게하려면 재귀 함수를 사용해야합니다.

$array = array(
    array("a", array("a","b","c"),"c"=>"c"), 
    array("a","b","c"), 
    array("a","b","c")); 

displayArray($array); 

function displayArray($array) 
{ 
    foreach($array as $k => $v) 
    { 
     if(is_array($v)) 
     { 
      displayArray($v); 
     } 
     else 
     { 
      echo $v."<br />"; 
     } 
    } 
} 

출력 될 것이다 : 여기 다차원 배열의 요소의 에코 재귀 함수의 예이다

aabccabcabc 
0

쉬운 방법으로는 array_walk_recursive 함수를 사용할 수 있습니다. PHP 매뉴얼에서 예제를 보게 될 것이다.

관련 문제