Blogger Information
Blog 31
fans 0
comment 1
visits 24627
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
变量的检测方法与作用域20180412
jobing的博客
Original
568 people have browsed it

变量的检测方法,主要通过3个函数来检测,分别是is_null(),empty(),isset(),三个函数仅适用于变量判断;变量的作用域有三个全局变量,局部变量,静态变量,还有一个超全局变量,以下是相关代码:

变量的检测代码:

实例

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

// 三个函数仅适用于变量判断
 // is_null()返回ture的情况
 // 1.变量已声明但未初始化,默认为null值
 // 2.变量显示赋值为null
 // 3.unset()销毁后,变量为null值

$val1;  //已声明,但未赋值
$val2 =  null; //直接用null初始化变量
$val3 = 'php';
@var_dump(is_null($val1) ? true : false); //返回true
var_dump(is_null($val2) ? true : false); //返回true
var_dump(is_null($val3) ? true : false); //返回false
unset($val3);  //彻底销毁变量
@var_dump(is_null($val3) ? true : false); //返回true
@var_dump(is_null($val4) ? true : false); //返回true

echo '<hr color="green">';
// empty()返回true的情况
// 1.空字符串,空数组
// 2.null
// 3.0 / '0' / false
$str1 = '';
$str2 = [];
$str3 = null;
$str4 = '0';
$str5 = 0;
$str6 = false;
$str7 = 'php';
var_dump(empty($str1));//返回true
var_dump(empty($str2));//返回true
var_dump(empty($str3));//返回true
var_dump(empty($str4));//返回true
var_dump(empty($str5));//返回true
var_dump(empty($str6));//返回true
var_dump(empty($str7));//返回false

echo '<hr color="blue">';
// isset()返回true的情况
// 变量已经存在,并且它的值不为null,返回true,否则为false
$a = 'php';
$b = null;
$c;
var_dump(isset($a));//返回true
var_dump(isset($b));//返回false
var_dump(isset($c));//返回false
var_dump(isset($d));//返回false

运行实例 »

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

效果图:

1.png

变量的作用域代码:

实例

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

/*
 * 变量的作用域有三个:
 * 1.全局:函数之外创建,仅在当前脚本除函数之外的地方使用;
 * 2.局部:函数内部创建,仅能在函数中使用,外部不可访问;
 * 3.静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失;
*/
$siteName = 'jobing的主页'; //全局变量

function hello(){
	global $siteName; //申明全局变量
	$userName = 'jobing'; //局部变量
	return '欢迎来到'.$siteName.',我是'.$userName;//申明之后即可使用
}

echo hello();
echo '<hr>';



function mynumber(){
	static $num = 1;//静态变量,设置之后只赋值一次
	return '我的第'.$num.'个数字是'.$num++.'<br>';
}

echo mynumber();
echo mynumber();
echo mynumber();
echo mynumber();
echo mynumber();
echo mynumber();

echo '<hr>';
//超全局变量
echo '我的姓名是:'.$_GET['name'];

echo '<hr>';

function myName(){
	return '我的姓名是:'.$_GET['name'];
}

echo myName();

运行实例 »

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

效果展示图:

2.png

手写代码:

新文档 2018-04-15_1.jpg新文档 2018-04-15_2.jpg新文档 2018-04-15_3.jpg新文档 2018-04-15_4.jpg新文档 2018-04-15_5.jpg新文档 2018-04-15_6.jpg

总结:

is_null(),empty(),isset()区别:

  1. is_null()返回ture的情况:变量已声明但未初始化,默认为null值;变量显示赋值为null;unset()销毁后,变量为null值

  2. empty()返回true的情况:空字符串,空数组;null;0 / '0' / false

  3. isset()返回true的情况:变量已经存在,并且它的值不为null

变量的作用域有三个:

1.全局变量:函数之外创建,仅在当前脚本除函数之外的地方使用,若要在函数中使用需申明;

2.局部变量:函数内部创建,仅能在函数中使用,外部不可访问;

3.静态变量:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失。

注:还有超全局变量可以在任意位置使用


Correction status:qualified

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