博客列表 > is_null(),empty(),isset()三个函数的功能和变量的作用域——2018年4月17日20时50分

is_null(),empty(),isset()三个函数的功能和变量的作用域——2018年4月17日20时50分

如果人生可以CtrlZ的博客
如果人生可以CtrlZ的博客原创
2018年04月17日 21:38:33848浏览

实例

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<?php 
/医院
 * is_null()返回为true
 * 1.变量已声明,但未初始化,默认值为null值
 * 2.变量赋值null值
 * 3.unset()销毁后,变量为null值
 */

//is_null对于已声明,但未赋值的变量
$name;
@var_dump(is_null($name));
echo '<hr>';
//变量赋值为null
$Name = null;
var_dump(is_null($Name));
$NaMe = 5;
echo '<hr>';
//unset()销毁后,变量为null
unset($NaMe);
@var_dump(is_null($NaMe));

/医院
 * empty()返回true
 * 1.空字符串
 * 2.空数组
 * 3.null
 * 4.  0   '0'  false
 *   总结:
 * 1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断
 * 2. 如果一个变量存在,但它的值对运行结果无影响,则视为空
 * 3. null一定是空,但空不一定是null,因为它可能是空值或0或false
 */
 
$str1 = '';
$str2 = [];
$str3 = null;
$str4 = 0;
$str5 = '0';
$str6 = false;
echo '<hr color="red">';
var_dump(empty($str1));
echo '<hr>';
var_dump(empty($str2));
echo '<hr>';
var_dump(empty($str3));
echo '<hr>';
var_dump(empty($str4));
echo '<hr>';
var_dump(empty($str5));
echo '<hr>';
var_dump(empty($str6));

/医院
 * isset()是null的取反操作
 * 总结:变量已经存在,并且它的值不为null,返回true,否则为false
 */
echo '<hr color="green">';
$num1;
$num2 = null;
$num3 = 10;
var_dump(isset($num1));
echo '<hr>';
var_dump(isset($num2));
echo '<hr>';
var_dump(isset($num3));
?>

运行实例 »

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

IMG_20180417_204800_1.jpg.JPGIMG_20180417_204807_1.jpg.JPGIMG_20180417_204811_1.jpg.JPGIMG_20180417_204815_1.jpg.JPGIMG_20180417_204818_1.jpg.JPGIMG_20180417_204823_1.jpg.JPGIMG_20180417_204825_1.jpg.JPGIMG_20180417_204830_1.jpg.JPG

实例

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<?php 
// 这里变量x为全局变量,y为局部变量 
$x = 10;
function answer(){
	$y = 20;
	return $y;
}
echo answer();
echo '<hr>';
echo $x;
echo '<hr>';

echo '<hr color="green">';

//静态变量在函数中只能被执行一次
function message(){
	static $num = 1;
	return '第'.$num.'输出'.$num++;
}
//这里输出会乱码,可以在浏览器上转换
echo message();

echo '<hr>';
//超全局变量不需要使用关键字 global 进行声明

function thing(){
	
	return '这个数字是'.$_GET['num'];
}
//这里输出会乱码,可以在浏览器上转换
echo thing();
?>

运行实例 »

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

总结:1.is_null()变量不存在/没赋值/值为null,则返回true 

          2.empty()

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

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

             03. null一定是空,但空不一定是null,因为它可能是空值或0或false

        3.isset()变量已经存在,并且它的值不为null,返回true,否则为false

        4.全局:函数之外创建,仅在当前脚本除函数之外的地方使用

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

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

        7.函数:是脚本中具有特定功能的代码段,可以重复调用

        8.超全局变量:$_SERVER,$_COOKIE,$_SESSION,$_GET,$_POST,$_REQUEST

            01. 属预定义变量,全部是数组,拿来就用,不需要声明

            02. 跨作用域,在全局和局部(函数内部)都可以直接使用   

            03.跨作用域不是跨脚本,所谓超全局,包括全局,都是指在当前脚本文件中

            04.超全局变量不需要使用关键字 global 进行声明




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