2011-10-28 2 views
10

저는 PHP에서 n00b입니다. 기본 매개 변수에 대해 배우므로이 함수를 만들었습니다.함수에 너무 많은 매개 변수를 전달하면 PHP에서 오류가 발생하지 않는 이유는 무엇입니까?

function doFoo($name = "johnny"){ 
    echo "Hello $name" . "<br />"; 
} 

나는 이러한 호출

했다
doFoo(); 
doFoo("ted"); 
doFoo("ted", 22); 

즉 예상 무엇을 인쇄 처음 두

Hello johnny 
Hello ted 

하지만 세 번째 호출은

Hello ted 

내가 기다리고 있었다 인쇄 오류, 모든 기능 후 하나의 논쟁에 대해 논쟁이 있지만 나는 두 가지 논증으로 그것을 부르고있다.
오류가없는 이유는 무엇입니까?

+2

PHP에서 다음과 같은 기능을 사용할 수 있기 때문에 : http://it.php.net/func_get_args – dynamic

답변

13

PHP 기능 과부하에 오류가 발생하지 않습니다.

+0

https://bugs.php.net/bug.php?id=13892에 따르면, 그것은 WONTFIX입니다. –

-2

알림 만 표시해야하지만 오류는 표시되지 않습니다. 화면에 알림이 표시되지 않도록 오류보고 기능을 설정했다고 생각합니다. 코드의 상단에

시도 붙여 넣기이 :

error_reporting(E_ALL | E_STRICT); 
+3

누가 여전히 상향 투표를하고 있습니까? –

+3

제가 알 수있는 한, 이것은 틀립니다. 가장 엄격한 오류보고 설정을 지정하는 경우에도 아무런주의 사항도 없습니다. – arvixx

3

PHP 함수가 다양한 수의 매개 변수를 지원하기 때문에.

관련 문제