2011-12-30 3 views
0

나는 코드를 본 적이 정말 $arg의 기본 값을 사용하는 방법은 바로 없다이다중 인수 함수 중복의 첫 번째 인수에 대한 기본값은 무엇입니까?

function my_func($arg1 = '', $arg2, $arg3) { ... 

같은 몇 번? $arg2 이상이 필요하므로 항상 $arg1의 값을 지정해야합니다. 맞습니까? 어떤 의미가 $arg1은 기본값을 사용하지 않을 것입니까?

+0

이 ISN은 PHP는 경고가 표시됩니다 이러한 경우하지만, 좋은 IDE에서 오류 또는 경고를 표시하지 않는 경우에도, 그렇게 잘못 맞아 파이썬에서 전혀 허용되지 않았고, 이것에 어떤 사용법도 보이지 않습니다. – Blender

답변

4

PHP는 엄격한 경고를 던지고 매우 바람직하지 않습니다. 그러나 첫 번째 인수는 선택 사항이 아닌 것처럼 동작합니다. 그래서 당신이 옳다. 기본값을 더 이상 사용하지 않는다는 것을 제외하고는 기본값을 사용하지 않는다.

+0

동의. 레거시 코드로 작업하고 함수에 핸들러를 작성하는 경우 (즉, 첫 번째 값에 대해 NULL을 전달한 다음 is_null ($ arg1) 절을 사용하는 경우 첫 번째 인수로 사전 설정 값을 전달할 수 있지만 함수 정의에서 인수를 다시 정렬하십시오. –

1

예, 당신은 ...

enter image description here

+0

PHP는 올바르게 구성 할 때'E_STRICT' 경고를 트리거합니다. – KingCrunch

관련 문제