>백엔드 개발 >PHP 튜토리얼 >PHP 7 이상에서 Nullable 유형은 어떻게 작동합니까?

PHP 7 이상에서 Nullable 유형은 어떻게 작동합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-15 12:39:11744검색

How Do Nullable Types Work in PHP 7 and Above?

PHP 7의 Null 허용 유형(?string 또는 ?int) 이해

PHP 7에서는 "nullable"이라는 새로운 기능이 있습니다. 유형'이 출시되었습니다. 이를 통해 개발자는 매개변수 또는 반환 값이 지정된 유형이거나 null이 될 수 있음을 지정할 수 있습니다. Null 허용 유형은 유형 선언 앞에 물음표(?)가 표시됩니다.

매개변수의 Null 허용 유형

구문:

function test(?string $parameter1, string $parameter2) {}
  • null 허용(?string)으로 표시된 매개변수는 문자열과 null을 모두 허용할 수 있습니다. 값.
  • null 허용 유형(문자열)이 없는 매개변수는 null이 아닌 값을 수신해야 하며 그렇지 않으면 오류가 발생합니다.

예:

test("foo", "bar"); // OK
test(null, "foo"); // OK
test("foo", null); // Error

Nullable 유형 반환 값

구문:

function error_func(): int {
    return null ; // Error: Return value must be of type integer
}

function valid_func(): ?int {
    return null ; // OK
}
  • null 허용 반환 유형이 있는 함수는 지정된 유형 또는 null을 반환할 수 있습니다.
  • null 허용 반환 유형이 없는 함수 null이 아닌 값을 반환해야 합니다. 그렇지 않으면 오류가 발생합니다. throw됩니다.

속성(PHP 7.4)

구문:

class Foo
{
    private ?object $bar = null; // OK: can be null
}
  • 클래스 속성 null을 포함할 수 있음을 나타내는 nullable 유형을 가질 수 있습니다. 값.

Nullable Union Types(PHP 8.0)

PHP 8.0부터 "?T 표기법은 일반적인 경우의 약칭으로 간주됩니다. ~의 T|null".

구문:

class Foo
{
    private object|null $baz = null;
}
  • Nullable 공용체 유형을 사용하면 변수에 지정된 유형 또는 null을 할당할 수 있습니다.

< ;h3>오류 처리

PHP 버전인 경우 사용된 버전이 7.1보다 낮으면 nullable 유형이 사용되면 구문 오류가 발생합니다. 이러한 경우에는 물음표(?)를 제거하세요.

References

  • Nullable Type(PHP 7.1 ):
  • 클래스 속성 유형 선언(PHP 7.4):
  • Nullable Union 유형(PHP 8.0 ):

위 내용은 PHP 7 이상에서 Nullable 유형은 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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