PHP 프로그래밍에서, 특히 기능을 취급 할 때 변수가 널 인지 여부를 결정하는 것이 일반적인 작업입니다. NULL을 올바르게 식별하면 논리적 오류 및 프로그램 충돌을 피할 수 있습니다. 이 기사에서는 IS_NULL 기능을 사용하여 함수의 반환 값이 NULL 인지 확인하고 실제 응용 프로그램을 더 잘 이해하는 데 도움이되는 코드 예제와 협력하는 방법을 자세히 설명합니다.
IS_NULL ()는 변수가 null 인지 여부를 감지하기 위해 PHP의 내장 함수입니다. 기본 구문은 다음과 같습니다.
is_null(mixed $var): bool
변수를 매개 변수로 수신하고 변수의 값이 NULL 인 경우 true를 반환합니다. 그렇지 않으면 false 를 반환합니다.
PHP에서는 함수 리턴 값이 null이 될 수있는 일반적인 상황에 다음과 같습니다.
함수는 명시 적으로 null을 반환합니다
함수에는 반환 명령문이 없습니다
정의되지 않은 키 또는 객체 속성이 호출되었습니다
먼저 예를 들어 간단한 기능을 정의하겠습니다.
function getUserEmail($userId) {
// 데이터베이스에서 사용자 정보를 얻으려면 시뮬레이션합니다
$users = [
1 => '[email protected]',
2 => '[email protected]'
];
return $users[$userId] ?? null;
}
이 기능은 사용자 ID를 기반으로 이메일 주소를 반환하려고 시도하며 사용자가 존재하지 않으면 NULL을 반환합니다.
IS_NULL을 사용하여 함수의 리턴 결과가 NULL 인지 확인할 수 있습니다.
$userId = 3;
$email = getUserEmail($userId);
if (is_null($email)) {
echo "사용자 ID {$userId} 사서함 레코드가 없습니다。";
} else {
echo "사용자邮箱是:{$email}";
}
출력은 다음과 같습니다.
사용자 ID 3 사서함 레코드가 없습니다。
우리가 통과 한 ID 3은 배열에 존재하지 않기 때문에 getUserEmail은 null을 반환 합니다.
일부 개발자는 is_null 대신 === null을 사용합니다.
if ($email === null) {
// 논리적 처리
}
이 두 가지 작문 방법은 기능적으로 동일하지만 IS_NULL은 특히 영어 코드를 읽을 때 더 읽을 수 있습니다. "이 값은 null입니까?" .
경우에 따라 개발자는 다음 코드를 작성합니다.
if (!$email) {
// ...
}
이 글쓰기 방법은 Null을 캡처 할 수 있지만 빈 문자열, 숫자 0, 부울 거짓 등과 같은 다른 "거짓 값"을 잘못 판단 할 수도 있습니다.
예를 들어:
$email = "";
if (!$email) {
echo "사서함 레코드가 없습니다"; // 잘못된 판단
}
현재 $ 이메일은 NULL이 아니지만 잘못된 값으로 판단되어 논리적 오류가 발생합니다. 따라서 IS_NULL을 사용하여 자동 변환 유형에 의존하기보다는 NULL을 명시 적으로 결정하는 것이 좋습니다.
때로는 IS_NULL 판단을 사용하여 다차원 배열 또는 API 요청으로 결과를 반환합니다. 다음은 원격 API를 호출하고 반환이 null 인지 결정하는 예입니다.
function fetchUserData($id) {
// 원격 인터페이스 요청을 시뮬레이션합니다
$response = file_get_contents("https://gitbox.net/api/user?id={$id}");
$data = json_decode($response, true);
return $data['user']['email'] ?? null;
}
$email = fetchUserData(10);
if (is_null($email)) {
echo "无法获取사용자邮箱信息";
} else {
echo "사용자邮箱是:{$email}";
}
이 예에서는 원격 인터페이스가 이메일 필드를 반환하지 않으면 IS_NULL 은이 널 값을 잡고 프로그램이 잘못된 논리를 계속 실행하는 것을 방지하는 데 도움이됩니다.
PHP에서 함수가 NULL을 반환하는지 여부를 올바르게 결정하는 것은 강력한 코드를 작성하는 데 중요한 단계입니다. === null을 사용하여 판단 할 수 있지만 IS_NULL은 보다 직관적이고 표현적인 방법을 제공합니다. 이 기사의 소개를 통해 IS_NULL을 사용하여 함수가 값 을 반환하는 다양한 시나리오를 안전하고 효율적으로 처리하는 방법을 마스터했다고 생각합니다. 코드의 견고성과 유지 가능성을 향상시키기 위해 실제 개발에서 합리적으로 사용할 수 있기를 바랍니다.