博客列表 >is_null() empty() isset() 变量作用域—2018年4月16日15时26分

is_null() empty() isset() 变量作用域—2018年4月16日15时26分

Gee的博客
Gee的博客原创
2018年04月16日 15:31:00624浏览

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()


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议