博客列表 > is_null(),empty(),isset()三个函数的用法和变量的作用域

is_null(),empty(),isset()三个函数的用法和变量的作用域

php学习笔记
php学习笔记原创
2018年04月15日 14:20:33955浏览

 is_null(),empty(),isset()三个函数的用法:

<?php $pageTitle=null; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo is_null($pageTitle)?'用户注册':$pageTitle; ?></title>
</head>
<body>
<form action="check.php" method="post">
<p><label>用户名:<input type="text" name="userName" id="userName"></label></p>
<p><label>密码:<input type="password" name="password" id="password"></label></p>
<p><button>注册</button></p>
</form>
</body>
</html>

check.php代码:

<?php
$userName = isset($_POST['userName']) ? $_POST['userName'] :'';
$password = isset($_POST['password']) ? $_POST['password'] :'';
if(empty($userName)){
	echo '<span style="color:red">用户名不能为空</span>';
}elseif(empty($password)){
    echo '<span style="color:red">密码不能为空</span>';
}else{
	echo '<span style="color:green">注册成功</span>';
}

运行结果:

6.png

7.png

8.png

总结:

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

1.变量已声明但未初始化,默认为null值

2.变量显示赋值为null

3.unset()销毁后,变量为null值

总结:变量不存在/没赋值/值为null,则返回true 

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

1.空字符串,空数组

2.null

3.0 / '0' / false

总结:

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

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

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

三、isset()什么时候返回true?

isset()是null的取反操作

总结:变量已经存在,并且它的值不为null,返回true,否则为false

手抄代码:

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

变量的作用域:

<?php
$siteName = 'php中文网';
echo $siteName;
echo '<hr>';
function study(){
	$course = 'php';
	global $siteName;
	return '我在'.$siteName.'学习'.$course;
}
echo study();
echo '<hr>';
function jisuan(){
	static $a = 1;
	$b = 3;
	$a = $a + $b;
	return $a;
}
echo jisuan().'<br>';
echo jisuan().'<br>';
echo jisuan().'<br>';
echo jisuan().'<br>';
echo jisuan().'<br>';

运行结果:

2018-04-15_141816.png

总结:

作用域只有三个:

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

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

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

全局变量只能在函数之外使用,如果要在函数中使用全局变量必须使用global关键字进行声明。局部变量只能在函数内使用,外部无法访问。静态变量只能在函数内使用,函数执行后它的值不丢失。

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