-
PHP에서 nulltmp 2024. 9. 24. 21:17
PHP에서 null 데이터 타입은 값이 "없음" 또는 "비어 있음"을 나타냅니다. 즉, 어떤 변수나 값에 아무것도 없음을 의미하며, null을 직접적으로 변수에 할당하거나 비교할 수 있습니다. 다음은 PHP에서 null과 관련된 주요 내용과 예시입니다.
1. 기본적인 null 비교
PHP에서는 비교 연산자 ==를 사용하여 데이터 타입을 무시한 비교를 할 수 있습니다.여기서는 null과 비슷하게 보이는 값들을 비교합니다.
<?php
var_dump(null == null); // true
var_dump(null == false); // true
var_dump(null == 0); // true
var_dump(null == ""); // true
var_dump(null == []); // true
?>
이 결과는 모두 true를 반환합니다. 즉, PHP는 null, false, 0, 빈 문자열, 빈 배열을 "없음"으로 간주하고이 값들은 null과 동등하다고 판단합니다.
2. 존재하지 않는 변수와 null
PHP에서는 존재하지 않는 변수를 참조하면 경고가 발생하며, 해당 변수의 값은 null이 됩니다.
<?php
var_dump($non_existing_variable); // 경고와 함께 null 반환
?>
즉, 변수가 선언되지 않은 경우에도 그 값은 null로 취급됩니다.
3. is_set과 is_null 함수
PHP에서는 변수가 설정되어 있는지 확인하는 함수 isset()과 값이 null인지 확인하는 함수 is_null()을 사용할 수 있습니다.
<?php
$abc = null;
var_dump(isset($abc)); // false, $abc는 존재하지만 null이므로 unset으로 간주
var_dump(is_null($abc)); // true, $abc는 null
?>
isset() 함수는 변수가 null일 경우에도 false를 반환합니다.
is_null()은 변수가 null인지 확인하는 함수입니다
4. null 병합 연산자
PHP 7부터 null 병합 연산자 ??를 사용할 수 있습니다. 이것은 변수가 null일 때 기본값을 설정하는 데 유용합니다.
<?php
$abc = null;
$db = $abc ?? "default"; // $abc가 null이므로 "default"가 할당됨
echo $db; // "default"
?>
5. 함수의 null 가능한 매개변수
PHP에서 함수 매개변수를 null 가능하게 만들려면 타입 앞에 ?를 붙입니다.이로 인해 해당 매개변수에 null이 전달될 수 있습니다.
<?php
declare(strict_types=1);
function greet(?string $name) {
echo "Hello, " . ($name ?? "stranger") . "!";
}
greet(null); // "Hello, stranger!"
?>
여기서 null이 전달되면 기본값인 "stranger"가 출력됩니다.
6. empty() 함수
empty() 함수는 변수의 값이 "비어 있음"을 확인합니다. 이는 null, false, 0, 빈 문자열, 빈 배열 등의 값에서 true를 반환합니다.
<?php
var_dump(empty(null)); // true
var_dump(empty(false)); // true
var_dump(empty(0)); // true
var_dump(empty("")); // true
var_dump(empty([])); // true
?>
7. 배열에서 null 제거하기
array_filter() 함수는 배열에서 null과 비슷한 "비어 있는" 값들을 필터링할 수 있습니다.기본적으로는 값이 null 또는 비어 있을 경우 배열에서 제거됩니다.
<?php
$array = [null, false, 0, "", [], 42, "example"];
$filtered_array = array_filter($array);
print_r($filtered_array); // [42, "example"]
?>
null, false, 0, 빈 문자열, 빈 배열이 제거되고 값이 있는 요소들만 남습니다.
결론
PHP에서 null은 중요한 데이터 타입으로 "없음"을 표현하며, 다른 "비어 있는" 값들과 동등하게 취급될 수 있습니다.여러 함수와 연산자를 사용하여 변수의 존재 여부를 확인하거나, null을 처리할 수 있습니다.
'tmp' 카테고리의 다른 글
Early binding 과 Late static binding (2) 2024.10.05 php generator (1) 2024.09.29 무료 랜덤 이미지 (0) 2024.07.19 svg => png 변환 (0) 2024.07.11 광고 코드를 템플릿 파일에 삽입 (2) 2024.04.16