>  기사  >  백엔드 개발  >  PHP에서 isset(),empty(), is_null()의 차이점에 대한 간략한 토론

PHP에서 isset(),empty(), is_null()의 차이점에 대한 간략한 토론

青灯夜游
青灯夜游앞으로
2021-06-25 18:39:534065검색

PHP에서는 isset(), empty(), is_null()을 모두 사용하여 변수 값을 테스트할 수 있는데, 이들 사이의 차이점은 무엇인가요? 다음 기사에서는 이 세 가지 기능을 비교하고 차이점을 이해할 것입니다.

PHP에서 isset(),empty(), is_null()의 차이점에 대한 간략한 토론

몇 가지 정의부터 시작해 보겠습니다.

  • isset() : isset()을 사용하여 변수가 선언되었는지 그리고 null과 다른지 여부를 확인할 수 있습니다. isset() : 你可以用isset() 来确定一个变量是否被声明,并且与null 不同。

  • empty() : 它用于确定变量是否存在,并且变量的值没有评估为false

  • is_null() : 这个函数用来检查一个变量是否是null

PHP isset() vs empty()

正如我们从定义中看到的,如果我们之前定义了该变量并将其值设置为NULL 以外的值,那么isset() 将返回true 。这可以包括0 ,一个空字符串或false 。另一方面,只要变量的值被设置为falseempty() 就会返回true ,我们称这些值为 "假值"。错误值的例子包括:0 ,空字符串"" 和字符串"0" ,空数组NULL ,当然还有布尔值false

isset()empty() 之间的一个相似之处是,它们都是语言结构,因此不能使用变量函数来调用。

下面的代码片断应该可以解释这两者之间的区别。

<?php

$fruit = &#39;&#39;;

if(isset($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// Output:  Do you like ?

if(!empty($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// No Output

?>

请注意,empty() 可以使用isset() 函数来编写。

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

当然,通常只是使用内置的empty() 函数更容易。

PHP isset() vs is_null()

如果一个变量的值被明确地设置为NULL ,则is_null() 函数返回true 。否则,它只是返回false 。另一方面,只要定义了一个变量,并且其值不是NULLisset() 将返回true

下面是一个基本的例子来说明它们之间的区别。

<?php

$fruit = NULL;

if(isset($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// No Output

if(is_null($fruit)) {
    echo &#39;There is no fruit.&#39;;
}
// Output: There is no fruit.

?>

PHP empty() vs is_null()

如果一个变量的值被评估为falseempty() 函数将返回true 。这可能意味着空字符串,NULL ,整数0 ,或一个没有元素的数组。另一方面,只有当变量的值为NULLis_null() 才会返回true

下面是一个基本的例子来说明它们之间的区别。

<?php

$fruit = NULL;

if(isset($fruit)) {
    echo &#39;Do you like &#39;.$fruit.&#39;?&#39;;
}
// No Output

if(is_null($fruit)) {
    echo &#39;There is no fruit.&#39;;
}
// Output: There is no fruit.

?>

需要记住的重要事项

有两个提示,你可以用来编写更简洁的代码,并在将来避免错误。

1.与empty()is_null() 不同,你可以一次传递多个值给isset() ,以同时检查其中是否有未定义或设置为NULL 。在这种情况下,isset() ,只有在传递的值都不是NULL ,才会返回true

2.2. 不要使用== 来检查一个值是否是NULL 。这将会给像空字符串这样的评估为false

empty() : 변수가 존재하는지, 변수 값이 false로 평가되지 않았는지 확인하는 데 사용됩니다.

is_null() : 이 함수는 변수가 null인지 확인하는 데 사용됩니다. 🎜

🎜PHP isset()empty()🎜

🎜 정의에서 볼 수 있듯이, 이전에 변수를 정의하고 해당 값을 NULL 이외의 값으로 설정한 경우 isset() true를 반환합니다. 코드>. 여기에는 <code>0, 빈 문자열 또는 false가 포함될 수 있습니다. 반면, empty()는 변수 값이 false로 설정될 때마다 true를 반환합니다. 우리는 이러한 값을 "false"라고 부릅니다. 가치" ". 오류 값의 예는 다음과 같습니다: 0, 빈 문자열 "" 및 문자열 "0", 빈 배열 NULL > 그리고 물론 부울 값 false도 포함됩니다. 🎜🎜isset()empty()의 한 가지 유사점은 둘 다 언어 구조이므로 변수 함수를 사용하여 호출할 수 없다는 점입니다. 🎜🎜아래 코드 조각은 둘 사이의 차이점을 설명해야 합니다. 🎜rrreee🎜 isset() 함수를 사용하여 empty()를 작성할 수 있다는 점에 유의하세요. 🎜rrreee🎜물론 내장된 empty() 함수를 사용하는 것이 더 쉬운 경우가 많습니다. 🎜

🎜PHP isset()is_null()🎜

🎜변수 값이 명시적으로 지정된 경우 NULL로 설정된 경우 is_null() 함수는 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 반면, 변수가 정의되고 해당 값이 NULL이 아닐 때마다 isset()true를 반환합니다. 🎜🎜다음은 이들 간의 차이점을 설명하는 기본 예입니다. 🎜rrreee

🎜PHP empty()is_null()🎜

🎜변수 값이 다음과 같은 경우 평가 결과가 false이면 empty() 함수는 true를 반환합니다. 이는 빈 문자열, NULL, 정수 0 또는 요소가 없는 배열을 의미할 수 있습니다. 반면, is_null()은 변수 값이 NULL인 경우에만 true를 반환합니다. 🎜🎜다음은 이들 간의 차이점을 설명하는 기본 예입니다. 🎜rrreee

🎜기억해야 할 중요한 사항🎜

🎜더 깔끔한 코드를 작성하고 향후 오류를 방지하는 데 사용할 수 있는 두 가지 팁이 있습니다. 🎜🎜1. empty()is_null()과 달리 여러 값을 isset()에 한 번에 전달하여 확인할 수 있습니다. 동시에 정의되지 않은 것이 있거나 NULL로 설정된 것이 있는지 여부. 이 경우 isset()는 전달된 값 중 NULL이 아닌 경우에만 true를 반환합니다. 🎜🎜2.2. 값이 NULL인지 확인하기 위해 ==를 사용하지 마세요. 이는 false로 평가되는 빈 문자열과 같은 값에 거짓 긍정을 제공합니다. 🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP에서 isset(),empty(), is_null()의 차이점에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제