찾다
헤드라인PHP 판단 변수
PHP 판단 변수Jun 28, 2018 am 09:11 AM

3. is_null(),empty(), isset()의 차이점

//특별 알림: 이 세 가지 함수는 변수 판단에만 적합합니다. 리터럴을 직접 사용하지 마세요

* 1. is_null()은 언제인가요? Return true?

* 1. 변수가 선언되었지만 초기화되지 않았으며 기본값은 null입니다.

* 2. 변수는 null로 표시됩니다.

* 3. unset()이 소멸된 후 변수는 null입니다.

* 요약: 변수 존재하지 않거나 할당된 값이 없거나 값이 null인 경우 true를 반환합니다.

$val1;  //已声明,但未赋值
$val2 =  null; //直接用null初始化变量
$val3 = 'php';
unset($val3);  //彻底销毁变量

//참고: 삼항 연산자를 사용하여 true 또는 false를 출력하는 것은 직관을 위한 것이므로 생략할 수 있습니다

@var_dump(is_null($val1) ? true : false); //true
var_dump(is_null($val2) ? true : false); //true
@var_dump(is_null($val3) ? true : false); //true

// var_dump(is_null('')) ; //빈 문자열은 false를 반환합니다

* 2. 언제 empty()가 true를 반환합니까?

* 1. 빈 문자열, 빈 배열

* 2. null

* 3.0 / '0' / false

* 요약:

* 1. 변수가 없으면 비어 있고 null()을 사용하여

을 결정할 수 있습니다. 변수가 존재하지만 해당 값이 실행 결과와 다릅니다. 효과가 없으면 비어 있는 것으로 간주됩니다

* 3. null은 비어 있어야 하지만 비어 있다고 반드시 null일 필요는 없습니다. null 값이거나 0이거나 false

*/

$str1 = '';
$str2 = [];
$str3 = '0';
$str4 = 0;
$str5 = null;
$str6 = false;
$str7 = 'peter zhu';
echo &#39;<hr>&#39;;
var_dump(empty($str1) ? true : false);//空字符串
var_dump(empty($str2) ? true : false);//空数组
var_dump(empty($str3) ? true : false);//字符型数字0 
var_dump(empty($str4) ? true : false);//数字0
var_dump(empty($str5) ? true : false);//null值
var_dump(empty($str6) ? true : false);//布尔false
var_dump(empty($str7) ? true : false);//有值且不为空,返回false

* 생각하기: 사용자가 텍스트 상자에 있는지 확인 내용을 입력한 후 is_null()을 사용해야 할까요, 아니면 empty()를 사용해야 할까요?

* 정답: 반드시 empty()를 사용해야 합니다. use is_null()

* 이유: 텍스트 상자의 값은 기본적으로 빈 문자열, 즉 value = ''로 지정되었기 때문에 그냥 null 값입니다

* 따라서 is_null()은 값이 null인지 아닌지 확인하고 반드시 empty()를 사용해야 합니다

* isset()은 null의 부정 연산입니다

* 요약: 변수가 이미 존재하고 해당 값이 null이 아니면 true를 반환하고 그렇지 않으면 false를 반환합니다.

$domain = &#39;www.php.cn&#39;;
$name = null;
$job;
echo &#39;<hr>&#39;;
var_dump(isset($var));
var_dump(isset($domain) ? true : false);
var_dump(isset($name) ? true : false);
var_dump(isset($job) ? true : false); //false,未赋值并不报错,与is_null不同

* 요약:

* 1. 변수에는 두 가지 상태가 있습니다: 선언됨, 선언되지 않음

* 2. 선언된 변수에도 두 가지 상태가 있습니다: 할당됨(초기화됨), 할당되지 않음(초기화되지 않음)

* 3. 변수에는 값이 할당될 수 있습니다. 유형: null, 빈 값, null이 아닌 값

* 3.1: null 값: is_null()

* 3.2: 빈 값: 비어 있음()

* 3.3: 비어 있거나 비어 있지 않은 값: isset()

* 기본 사용 원칙:

* 1. 선언되지 않은 변수에는 isset()만 사용할 수 있습니다. Judgment

* 2. 선언된 변수에 대해서는 비어 있는지 여부를 판단하려면 empty()를 사용하고, 비어 있는지 여부를 판단하려면 is_null()을 사용합니다. 초기화됨

echo &#39;<hr color="red">&#39;;

//첫 번째 시나리오: 변수가 선언되지 않았습니다

//$a가 선언되지 않았습니다

var_dump(isset($a) ? true : false);  //不报错,返回false表示未声明

//예: 페이지에 데이터를 표시할 때 현재 URL에 페이징 변수 페이지가 있는 경우, 지정된 페이지가 출력되고 그렇지 않으면 기본적으로 데이터의 첫 번째 페이지가 출력됩니다

$name = isset($_GET[&#39;page&#39;]) ? $_GET[&#39;page&#39;] : 1;

//is_null은 경고를 표시하고 자동으로 $ a = null을 실행하므로 true를 반환합니다

var_dump(is_null($a) ? true : false);

//선언되지 않은 변수는 자동으로 null로 초기화되고, null 값이 있는 변수의 경우 비어 있음()은 해당 변수가 비어 있는 것으로 간주하므로 true를 반환합니다

var_dump(empty($a) ? true : false);

// 두 번째 시나리오: 변수가 선언되었습니다.

$a = &#39;www.php.cn&#39;;
$b = &#39;&#39;;
$c = null;
echo &#39;<hr color="blue">&#39;;
var_dump(isset($a));  //有无判断
var_dump(empty($b));  //非空判断
var_dump(is_null($c)); //null

//변수 초기화 원칙 :

//1. 변수 유형이 알려진 경우

$num = 0; //数值
$userName = &#39;&#39;; //字符串
$isPass = false; //布尔
$books = []; //数组
$student = null; //对象

//2. 변수가 최종적으로 어떤 값을 저장할지 확실하지 않은 경우 null로 초기화하는 것이 좋습니다

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

在PHP开发中,我们经常会遇到PHPNotice:Undefinedvariable的错误提示。这个错误提示表示我们在代码中使用了一个未定义的变量。虽然这个错误提示不会导致代码崩溃,但是它会影响代码的可读性和可维护性。下面,本文将为大家介绍一些解决这个错误的方法。1.在开发过程中使用error_reporting(E_ALL)函数在PHP开发中,我们可

PHP Notice: Undefined variable: arr in的解决方法PHP Notice: Undefined variable: arr in的解决方法Jun 22, 2023 am 10:21 AM

PHPNotice:Undefinedvariable:arrin的解决方法在PHP编程中,我们经常会遇到“Notice:Undefinedvariable”这个错误提示。这个错误提示一般是因为访问了未定义的变量或者变量未被初始化导致的。对于这个问题,我们需要及时找到问题并解决。在本文中,我们将重点讨论PHPNotice:Undefin

如何在PHP中使用数字变量如何在PHP中使用数字变量Sep 13, 2023 pm 12:46 PM

如何在PHP中使用数字变量在PHP中,数字变量是一种无需声明而直接使用的变量类型。可以使用数字变量进行数学计算、数据比较和其他数值操作。本文将介绍如何在PHP中使用数字变量,并提供具体的代码示例。定义数字变量在PHP中,定义数字变量非常简单,只需直接给变量赋予一个数字即可。下面是一个例子:$number=10;在上面的代码中,我们定义了一个名为$numb

PHP Notice: Undefined variable: sql的解决方法PHP Notice: Undefined variable: sql的解决方法Jun 23, 2023 am 08:51 AM

在开发PHP应用程序时,如果遇到了"Undefinedvariable:sql"的提示,这通常意味着您正在引用一个未定义的变量。这可能是由于许多原因引起的,例如变量名称拼写错误、作用域问题或代码中的语法错误等。在本篇文章中,我们将探讨这个问题的各种原因,并提供一些解决这个问题的方法。1.变量名称拼写错误在您的PHP代码中,如果变量名称不正确或拼写错误,系

PHP Notice: Undefined variable: result的解决方法PHP Notice: Undefined variable: result的解决方法Jun 22, 2023 pm 01:32 PM

PHPNotice:Undefinedvariable:result是指在PHP程序中调用了一个未定义的变量result,这会导致程序产生Notice级别的警告。这种情况一般是由于程序员在编写PHP代码时未正确定义变量或者变量的作用域造成的。如果不及时解决,这种Notice级别的警告可能会导致程序的运行出现问题。那么,如何解决PHPNotice:

如何通过引用传递PHP变量如何通过引用传递PHP变量Aug 26, 2023 am 09:01 AM

在PHP中,您可以使用和号(&)符号将变量按引用而不是按值传递。这样可以在函数或方法内修改原始变量。主要有两种方式可以通过引用传递PHP变量:使用ampersand符号在函数/方法声明中使用和符号将变量传递给函数/方法时在函数/方法声明中使用和号在PHP中,您可以使用函数/方法声明中的和号符号(&)通过引用传递变量。以下是更新的解释:要通过在函数/方法声明中使用&符号来传递引用变量,您需要在函数/方法定义中在参数名称之前包含&符号。这表示参数应该通过引用传递,允许

如何快速排除PHP变量未定义错误?如何快速排除PHP变量未定义错误?Dec 17, 2023 am 10:23 AM

如何快速排除PHP变量未定义错误?在PHP开发中,经常会遇到变量未定义的错误。这是因为在代码中使用了一个未赋值的变量。当遇到这种错误时,我们需要迅速找到错误的原因并解决它。以下是一些快速排除PHP变量未定义错误的方法,帮助您更快地定位和修复错误。开启错误报告:当我们开启错误报告时,PHP会显示出所有的错误和警告信息,包括变量未定义错误。我们可以通过在代码的开

PHP编程中有哪些常见的变量?PHP编程中有哪些常见的变量?Jun 12, 2023 am 10:06 AM

在PHP编程中,变量是存储值的基本单元,用于在程序执行过程中储存和使用数据。在PHP中,变量可以被赋予不同的数据类型,包括整型、浮点型、字符串、数组等等。在本文中,我们将介绍PHP编程中常见的变量及其用法。简单变量简单变量是最常见的变量类型,它们可以存储整数、浮点数、字符串等常规数据类型。在PHP中,未定义变量的初始值为NULL。以下是几个实例:整型变量:$

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)