2011-05-07 2 views
1

폼 유효성 검사를 위해 오류 배열을 반환해야하는 함수를 만들었습니다. 이 방법을 몇 가지 방법을 시도했지만 문제는 내가 오류 메시지를 표시 할 수없는 것입니다. "ArrayArray"각 배열 요소의 값을 어떻게 표시합니까?

나는이 모두가 나에게 동일한 결과를 제공하는 것

foreach($errors as $err) 
{ 
    echo($err); 
} 

for ($i = 0; $i < count($errors); $i++) 
{ 
    echo ($errors[$i]); 
} 

을 시도했습니다.

var_dump()을 사용하는 경우 배열에 값이 있음을 보여줍니다.

나는 아주 간단한 해결책이 있다고 느낀다. 그러나 나는 꽤 오랫동안 탐색 해 왔고, 어쨌든 이것을 수정할 생각이 없다. 내가 뭘 놓치고 있니?

답변

2

다차원 배열이 있어야합니다. 배열을 2 차원으로 가정하면됩니다. -

foreach($errors as $err) 
{ 
    foreach($err as $err2) 
     echo($err2); 
} 

또는 이전 스타일은

foreach($errors as $i => $err) 
{ 
    foreach($err as $errKey => $errVal) 
     echo($errVal); 
} 
+0

구식으로 무엇을 의미합니까? – Ikke

+0

두 번째 것은 PHP가 첫 번째 버전 인 짧은 핸드 메소드를 사용하기 전까지 많이 사용되었습니다. 둘 다 똑같지 만 때로는 구식이 훨씬 더 분명합니다. – robx

+0

내가 보는 유일한 차이점은 키 값을 대신하여 키를 참조한다는 것입니다. 사용할 변형을 결정할 때도 키가 필요한지 여부에 따라 다릅니다. – Ikke

1

print_r($errors);을 사용할 수 있습니다. 배열, 객체 등에서 작동합니다.

@comment 테이블 정의가 매우 이상하다는 것을 확인하십시오. 오류 메시지를 표시하려면

foreach($errors[2] as $err) 
    echo $err."<br />"; 
+0

나는 이것을 시도했지만 여전히 오류 메시지 만 표시하지는 않습니다. @David가 당신의 제안에 덧붙여서 나는 아래 출력이'print_r()'에 대해 언급했다. –

0
function displayErrors($errors) 
{ 
    if(is_array($errors)){ 
    foreach($errors as $error) 
    { 
     displayErrors($error); 
    } 
    } 
    else{ 
     echo($errors); 
    } 
} 
0

는 @piotrm에 의한 제안에 추가하면 <pre>...</pre> 태그에 print_r() 전화를 포장하는 경우는 잘 읽을 수 출력을 얻을 :

<pre> 
<?php print_r($errors); ?> 
</pre> 

적어도 가장 쉬운 해결책입니다!

+0

I는'에코 "

"; echo print_r("$errors"); echo "
" 시도한; '가 있지만 단지 표시 '어레이 ( [0] => 배열 ( ) [1] => [2] => 배열 ( [0] => 배열 ( ) [1] => [2] = "이름을 입력하세요. [3] => 성을 입력하세요. [4] => 입력하세요 유효한 이메일 주소입니다. [5] => 사용자를 입력하십시오. 이름. [6] => 올바른 사용자 이름을 입력하십시오. [7] => 비밀번호는 4 자 이상이어야합니다. ) ) '. –

+0

@Kevin - 환경의 특성은 무엇입니까? 'pre' 태그를 사용하는 동안 라인 리턴을 얻지 못한다면 이상한 것이있을 것입니다. 적어도 print_r과 함께'echo'는 필요 없다. 또한 [print_r'에 대한 PHP 매뉴얼] (http://www.php.net/manual/en/function.print-r.php)에서 많은 [사용자가 작성한 주석] (http : /www.php.net/manual/en/function.print-r.php#87418)에는'pre' 태그도 있습니다. 정말로 펑키 한 것을 찾고 있다면 [Krumo] (http://krumo.sourceforge.net/)도 있습니다. 희망이 도움이됩니다! –

+0

또한 배열 변수 주위에 따옴표가 필요하지 않습니다. just :'print_r ($ errors);'. –

관련 문제