PHP에서 기본 함수 인수 재정의
PHP 함수는 함수 호출 시 대체 값을 설정하기 위해 기본 인수 사용을 지원합니다. 그러나 이전 인수의 기본값을 유지하면서 특정 인수를 설정하는 것은 어려울 수 있습니다.
다음 함수를 고려하세요.
<code class="php">function foo($blah, $x = "some value", $y = "some other value") { }</code>
$x 및 $y의 기본 인수는 "some"입니다. 값'과 '다른 값'을 각각 사용합니다. 하지만 $x에 기본값을 사용하면서 $y에 대한 기본값을 재정의하려면 어떻게 해야 할까요?
다음과 같이 null을 사용하여 기본값을 재정의하려고 시도합니다.
<code class="php">foo("blah", null, "test"); // Does not work</code>
또는
<code class="php">foo("blah", "", "test"); // Does not work</code>
원하는 결과를 얻을 수 없습니다.
또 다른 접근 방식은 기본 변수를 명명된 변수에 할당하는 것입니다.
<code class="php">foo("blah", $x, $y = "test");</code>
과 같은 변수도 기본값을 재정의하지 못합니다.
이 문제를 해결하려면 다음과 같이 함수 선언을 수정하세요.
<code class="php">function foo($blah, $x = null, $y = null) { if (null === $x) { $x = "some value"; } if (null === $y) { $y = "some other value"; } }</code>
이를 통해 다음과 같은 호출을 할 수 있습니다.
<code class="php">foo('blah', null, 'non-default y value');</code>
$x의 기본값을 계속 유지할 수 있습니다.
참고: 기본 인수만 함수의 마지막 인수로 작동합니다. 함수 정의 내에서 기본값을 선언할 때 매개변수를 생략하고 다음 매개변수를 재정의하는 것은 불가능합니다.
위 내용은 다른 것을 유지하면서 PHP에서 기본 함수 인수를 재정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!