Blogger Information
Blog 51
fans 3
comment 1
visits 36334
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
is_null() empty() isset() 变量作用域—2018年4月16日15时26分
Gee的博客
Original
629 people have browsed it

is_null() empty() isset()三个函数

代码:

实例

<?php 
echo '<h3>is_null(),empty(),isset()</h3>';
echo '<hr color="red">';

echo 'is_null(): 不存在/没赋值/值为null时返回true';
echo '<hr>';

echo '已声明,但未初始化: $val1;';
$val1;
echo '<br>';
@var_dump((is_null($val1) ? true : false));
echo '<hr>';

echo '已声明,初始化为null: $val2 = null;';
$val2 = null;
echo '<br>';
var_dump((is_null($val2) ? true : false));
echo '<hr>';

echo '已声明,并初始化为非null值:$val3 = \'php\';unset($val3);';
$val3 = 'php';
unset($val3);
echo '<br>';
@var_dump((is_null($val3) ? true : false));
echo '<hr color="red">';

echo 'empty(): 空字符串、空数组、null、0、\'0\'、false时返回true';

$str1 = ''; //空字符串
$str2 = []; //空数组
$str3 = '0'; //'0'
$str4 = 0; //0
$str5 = null; //null
$str6 = false; //false

echo '<hr>';
var_dump(empty($str1) ? true : false);
var_dump(empty($str2) ? true : false);
var_dump(empty($str3) ? true : false);
var_dump(empty($str4) ? true : false);
var_dump(empty($str5) ? true : false);
var_dump(empty($str6) ? true : false);
echo '<hr color="red">';

echo 'isset(): 变量存在且不为null,返回true';
echo '<hr>';

$sentence = 'hahaha';
$name = null;
$job;

var_dump(isset($var)); //变量不存在
var_dump(isset($sentence)); //变量存在且不为null
var_dump(isset($name)); //变量为null
var_dump(isset($job)); //变量未赋值,为null
echo '<hr color="red">';

运行实例 »

点击 "运行实例" 按钮查看在线实例

变量作用域:

实例

<?php 
echo '变量的作用域';
echo '<hr color="red">';

$out = '全局变量';

function diffType()
{
	$in = '局部变量';
	global $out; //函数内部不能直接访问全局变量
	return '这是'. $out. '这是'. $in;
}

echo diffType();

echo '<br>';

function num()
{
	$num1 = 1;
	static $num2 = 1; //静态变量
	return '第'.$num1.'次输出'.'局部变量'.$num1++.'第'.$num2.'次输出'.'静态变量'.$num2++.'<br>';
}

echo num();
echo num();
echo num();
echo num();
echo num();

运行实例 »

点击 "运行实例" 按钮查看在线实例

手抄代码:

微信图片_20180416152443.jpg微信图片_20180416152448.jpg

总结:

一、is_null()什么时候会返回true

1.变量已经声明但未赋值(未初始化),默认就是null

2.给变量直接初始化为null:$a = null;

3.unset($var),当前$var为null

即:不存在/没赋值/值为null 时返回true


二、empty()

什么情况会被认为是empty

1.空字符串、空数组

2.null   (null是空,但空不一定是null)

3. 0、 '0'、 false

三、isset()

是null的相反操作

即: 变量存在且不为null,返回true


1.变量有两种状态:已声明和未声明

2.对于已经声明过的变量也有两种状态:已赋值,未赋值

3.变量可能会被赋的值有三种:null,空,非空值

    3.1 null  is_null()

    3.2 空:empty()

    3.3 空或非空 isset()


基本原则

1. 对于未声明只能用isset()进行判断

2. 对于已声明,为空用empty(),是否初始化了用is_null()


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post