首页 头条 php判断变量

php判断变量

Jun 28, 2018 am 09:11 AM

3.is_null(),empty(),isset()区别

//特别提示:这三个函数仅适用于变量判断,不要直接到用字面量上面

 * 一、is_null()什么时候返回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

* 二、empty()什么时候返回true?

* 1.空字符串,空数组

* 2.null

* 3.0 / '0' / false

* 总结:

* 1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断

* 2. 如果一个变量存在,但它的值对运行结果无影响,则视为空

* 3. 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(),不能用is_null()

* 原因: 因为文本框的value值默认为空字符串,即 value = '',已被赋值了,只是空值罢了

* 所以,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, 空值, 非空值

* 3.1: null值: is_null()

* 3.2: 空值: empty()

* 3.3: 空值或非空值: isset()

* 基本使用原则:

* 1. 对于未声明的变量只能使用isset()进行判断

* 2. 对于已声明的变量,为空判断用empty(),是否初始化判断用is_null()

echo &#39;<hr color="red">&#39;;
登录后复制

//第一种场景: 变量未声明

//$a未声明

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

//实例:在分页显示数据的时候,如果当前的url中有分页变量page,则输出指定页,否则就默认输出第一页数据

$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的变量,empty()会认为是空,所以返回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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
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变量未定义错误? 如何快速排除PHP变量未定义错误? Dec 17, 2023 am 10:23 AM

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

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

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

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编程中有哪些常见的变量? Jun 12, 2023 am 10:06 AM

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