PHP에서 isset() 대 empty() 대 is_null()의 차이점

7037 단어 php
서로 유사한 일부 내장 PHP 함수가 있으며 isset() , empty()is_null() 입니다.

isset() 메서드



변수가 값으로 설정된 경우 이 메서드는 true 를 반환합니다. 그렇지 않으면 false 를 반환합니다.

isset() 구문




isset(variable, .);

isset()는 인수로 많은 변수를 사용할 수 있습니다. 구문에서 variable, ...)를 참조하세요. 매개변수에 많은 변수를 넣으면 모든 변수가 이미 값으로 설정된 경우에만 이 메서드가 반환됩니다true.

isset() 예제



두 개의 변수를 인수로 받아들이는 isset() 메소드를 구현해 봅시다. 첫 번째 변수에는 값으로 null을 할당하고 두 번째 변수에는 문자열 또는 null 이외의 다른 데이터 유형을 할당합니다.

<?php
$name = null;
$result = isset($name); 

var_dump($result); // bool(false)


위 스니펫의 결과는 bool(false 입니다. 값으로 할당한 변수가 null이기 때문입니다.

그러나 null이 아닌 다른 데이터 유형으로 값을 할당하면 다음과 같은 예가 있습니다.

<?php
$name = "Pramana";
$result = isset($nama); 

var_dump($result); // bool(true)


위의 코드 스니펫은 변수에 문자열을 할당했기 때문에 bool(true)를 반환합니다. null 이외의 데이터 유형을 가진 모든 값은 null이 아닌 변수로 해석되므로 true 를 반환합니다.

비어 있음() 메서드


empty()는 변수가 비어 있는지 또는 어떤 값으로도 설정되지 않았는지 확인하기 위한 PHP의 내장 함수입니다. 이 메서드는 true 또는 false 를 반환합니다.

비어 있음() 구문




empty( $variable )

empty() 구문에 표시된 대로 하나의 매개변수만 인수로 허용합니다.

비어 있음() 예



두 개의 변수로 empty()를 구현해 보겠습니다. 첫 번째 변수에는 null 값으로 설정하고 두 번째 변수에는 문자열 값으로 설정합니다.

<?php
$name = null;
$result = empty($name); 

var_dump($result); // bool(true)


위의 코드 조각은 결과로 true를 반환합니다. empty()는 변수가 비어 있는지 확인하고 null 값은 비어 있는 것으로 간주하여 true를 반환하기 때문입니다.

대답은 문자열 길이에 따라 다르므로 아니오입니다.

<?php
$name = "";
$result = empty($name); 

var_dump($result); // bool(true)


위의 코드는 null이 아닌 문자열로 할당되었음에도 불구하고 true를 반환합니다. 빈 문자열인 ""를 할당했기 때문입니다. "" 는 값이 없고 문자열일 뿐 비어 있기 때문에 true 를 반환합니다.

조금 까다롭습니다.

변수에 정수를 할당했지만 정수가 0이면 어떻게 됩니까?

$number = 0;
var_dump(empty($number)); // bool(true)


이것은 true 메서드에 대해 유효성을 검사할 때 0이 비어 있는 것으로 간주되기 때문에 empty() 를 반환합니다. 0이 아닌 다른 정수로 할당된 경우 결과는 false 입니다.

is_null() 메소드


is_null()는 변수에 null 값이 할당되었는지 여부를 확인하는 PHP 내장 함수입니다. 이 메서드는 부울 true 또는 false 를 반환합니다.

is_null 메서드




is_null( $variable )

is_null 메서드는 하나의 매개변수만 인수로 받아들입니다.

두 변수에 대해 is_null 메서드를 구현해 보겠습니다. 첫 번째 변수는 null 값을 보유하고 두 번째 변수는 비값을 보유합니다.

<?php
$name = null;
$result = is_null($name); 

var_dump($result); // bool(true)


위의 코드는 true 변수가 null 값을 보유하고 있기 때문에 $name를 반환합니다.

<?php
$name = "Pramana";
$result = is_null($name); 

var_dump($result); // bool(false)


그러나 null이 아닌 값에 대해 is_null() 메서드를 사용하면 결과가 false가 됩니다.

참조:
  • Difference between isset() vs empty() vs is_null() in PHP
  • isset method - php.net
  • empty method - php.net
  • is_null method - php.net
  • 좋은 웹페이지 즐겨찾기