programing

php 함수는 기본적으로 무엇을 반환합니까?

nicescript 2022. 12. 9. 22:04
반응형

php 함수는 기본적으로 무엇을 반환합니까?

명시적으로 아무것도 반환하지 않으면 php 함수는 정확히 무엇을 반환합니까?

function foo() {}
  1. 어떤 타입입니까?

  2. 어떤 값어치?

  3. ===로 정확하게 테스트하는 방법은 무엇입니까?

  4. 이것이 php4에서 php5로 변경되었습니까?

  5. 와의 차이점이 있습니까?function foo() {}그리고.function foo() { return; }

(테스트 방법을 묻는 것이 아닙니다.if (foo() !=0) ...)

  1. null
  2. null
  3. if(foo() === null)
  4. -
  5. 아니.

다음을 수행하여 시험해 볼 수 있습니다.

$x = foo();
var_dump($x);

PHP 함수에서 값을 반환하지 않는 것은 null을 반환하는 함수와 동일한 의미를 가집니다.

function foo() {}

$x=foo();

echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";

이렇게 하면 출력됩니다.

NULL
false
true

foo를 다음으로 대체해도 동일한 결과가 나타납니다.

function foo() {return null;}

이 동작은 php4에서 php5에서 php7로 변경되지 않았습니다(확인을 위해 테스트했을 입니다).

함수 반환 유형을 지정할 때 이상한 점이 발견되었습니다.이 경우 함수에서 무언가를 반환하는 것을 명시해야 합니다.

<?php

function errorNoReturnDeclared($a = 10) : ?string {
    if($a == 10) {
        echo 'Hello World!';
    }
}

errorNoReturnDeclared(); //Fatal error

오류:

 Uncaught TypeError: Return value of errorNoReturnDeclared() must be of the type string or null, none returned in 

따라서 이전 함수에 몇 가지 반환 유형 사양을 추가하기로 결정한 경우 이 점을 고려하십시오.

언급URL : https://stackoverflow.com/questions/1218580/what-does-a-php-function-return-by-default

반응형