>백엔드 개발 >PHP 문제 >PHP는 객체 필드가 ​​null인지 정의되지 않았는지 확인합니다.

PHP는 객체 필드가 ​​null인지 정의되지 않았는지 확인합니다.

PHPz
PHPz원래의
2023-04-19 11:29:111300검색

개발 중에 객체의 특정 필드에 값이 있는지 확인해야 하는 경우가 많지만 이 값은 null이거나 정의되지 않을 수 있습니다. 두 경우 모두 값이 없음을 나타내지만 여전히 다릅니다. 따라서 사용 시 실제 상황에 따라 다양한 처리를 수행해야 합니다.

1. null과 undefine

  1. null

null의 차이는 정의된 개체나 변수의 값이 비어 있음을 의미하며 변수에 값이 할당되지 않았음을 나타냅니다. null은 디버깅 코드에서 속성이 올바르게 할당되지 않았음을 나타내는 데 사용될 수도 있습니다. 따라서 속성 값이 비어 있는지 판단할 때 === 연산자를 사용하세요. 이는 엄격한 항등 연산자이고 변수 데이터 유형이 동일하고 값이 동일한 경우에만 true를 반환하기 때문입니다. 예를 들어,

$data = [
    'title' => null,
    'content' => '内容',
];
if ($data['title'] === null) {
    echo '未设置标题';
}
  1. undefine

undefine은 변수가 선언되었지만 아직 값이 할당되지 않았음을 의미합니다. 또한 undefine에는 다음과 같은 상황이 있습니다.

(1) 변수가 존재하지 않습니다.

( 2) 객체에 특정 속성이 존재하지 않습니다

(3) 함수에 반환 값이 없습니다

특정 속성이 정의되지 않았는지 확인하려면 isset 함수나 빈 함수를 사용하면 되지만, isset 함수를 사용하는 것이 좋습니다. 예:

$class = new stdClass();
if (!isset($class->name)) {
    echo '未定义属性name';
}

2. 객체 필드가 ​​null인지 정의되지 않았는지 확인하는 방법

객체 필드가 ​​null인지 정의되지 않았는지 확인할 때 isset 함수 또는 array_key_exists 함수를 사용하여 확인할 수 있습니다. 구체적인 방법은 다음과 같습니다.

  1. isset 함수

이 함수는 변수가 선언되었는지, 값이 NULL이 아닌지 확인하는 데 사용됩니다.

$data = [
    'title' => null,
    'content' => '内容',
];
if (!isset($data['title'])) {
    echo '未设置标题';
}
  1. array_key_exists 함수

이 함수는 주어진 키 이름이 배열에 존재하는지 확인하는 데 사용됩니다. 키 이름이 존재하면 true를 반환하고, 존재하지 않으면 false를 반환합니다.

$data = [
    'title' => null,
    'content' => '内容',
];
if (!array_key_exists('title', $data)) {
    echo '未设置标题';
}

객체에 특정 속성이 존재하는지 확인하려면 isset 함수나 property_exists 함수를 사용하여 확인할 수 있습니다. 구체적인 방법은 다음과 같습니다.

  1. isset 함수

이 함수는 변수가 선언되었는지, 값이 NULL이 아닌지 확인하는 데 사용됩니다.

$class = new stdClass();
if (!isset($class->name)) {
    echo '未定义属性name';
}
  1. property_exists 함수

이 함수는 객체에 지정된 속성이 있는지 확인하는 데 사용됩니다.

$class = new stdClass();
if (!property_exists($class, 'name')) {
    echo '未定义属性name';
}

3. 요약

PHP에서 객체 필드가 ​​null인지 정의되지 않았는지 판단하는 것은 매우 중요한 기술이며 실제 개발에서 주의 깊게 숙달해야 합니다. 실제 필요에 따라 isset 함수, array_key_exists 함수, property_exists 함수 등을 사용하여 판단할 수 있습니다. 다양한 방법은 다양한 시나리오에 적합하며 불필요한 오류를 방지하려면 유연하게 사용해야 합니다.

위 내용은 PHP는 객체 필드가 ​​null인지 정의되지 않았는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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