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>'; }
运行结果:
总结:
一、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
手抄代码:
变量的作用域:
<?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>';
运行结果:
总结:
作用域只有三个:
1.全局:函数之外创建,仅在当前脚本除函数之外的地方使用;
2.局部:函数内部创建,仅能在函数中使用,外部不可访问;
3.静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失;
全局变量只能在函数之外使用,如果要在函数中使用全局变量必须使用global关键字进行声明。局部变量只能在函数内使用,外部无法访问。静态变量只能在函数内使用,函数执行后它的值不丢失。