>  기사  >  백엔드 개발  >  PHP에서 기본 함수 인수를 재정의하는 방법은 무엇입니까?

PHP에서 기본 함수 인수를 재정의하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-02 10:55:31729검색

How to Override Default Function Arguments in PHP?

기본 함수 인수 재정의

기본 인수로 PHP 함수를 선언할 때 기본값을 계속 사용하면서 해당 값을 재정의하는 방법을 이해하는 것이 중요합니다. 남을 위한 변론. 다음 함수를 고려하십시오.

<code class="php">function foo($blah, $x = "some value", $y = "some other value") {
    // code here!
}</code>

$y에 다른 값을 설정하면서 $x에 대한 기본 인수를 사용하려면 다음과 같은 잘못된 시도는 작동하지 않습니다.

<code class="php">foo("blah", null, "test");
foo("blah", "", "test");</code>

그렇기 때문에 $x에 원하는 기본값을 할당하지 마십시오. 또한 변수 이름으로 인수를 설정하려고 시도하면

<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 here!
}</code>

이제 다음과 같은 변형을 사용하여 함수를 호출할 수 있습니다.

<code class="php">foo('blah', null, 'non-default y value');</code>

$y를 재정의하면서 $x를 기본값으로 설정하도록 할 수 있습니다.

기본 매개변수는 함수 정의의 마지막 인수에만 적용된다는 점을 기억하는 것이 중요합니다. 선택적 매개변수 뒤에 기본값이 있는 매개변수가 여러 개 있을 경우, 하나를 생략하고 다음 매개변수를 지정할 수 없습니다.

위 내용은 PHP에서 기본 함수 인수를 재정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.