代码:
(1)is_null(),empty(),isset()三个函数的功能,参数,返回值:
实例
<?php echo '<h3>is_null(),empty(),isset()区别</h3>'; echo '<hr>'; // 一、is_null()什么时候返回true? // 1.变量已声明但未初始化,默认为null值 // 2.变量显示赋值为null // 3.unset()销毁后,变量为null值 // 总结:变量不存在/没赋值/值为null,则返回true $val1;//已声明,未赋值 $val2 = null;//用null初始化变量 $val3 = 'php'; unset($val3);//彻底销毁变量 @var_dump(is_null($val1));//true var_dump(is_null($val2));//true @var_dump(is_null($val3));//true var_dump(is_null(''));//空字符串返回false echo '<hr>'; // 二、empty()什么时候返回true? // 1.空字符串,空数组 // 2.null // 3.0 / '0' / false // 总结: // 1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断 // 2. 如果一个变量存在,但它的值对运行结果无影响,则视为空 // 3. null一定是空,但空不一定是null,因为它可能是空值或0或false $str1 = '';//空字符串 $str2 = [];//空数组 $str3 = '0';//字符型数字0 $str4 = 0;//数字0 $str5 = null;//null值 $str6 = false;//布尔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>'; // 三、isset()是null的取反操作 // 总结:变量已经存在,并且它的值不为null,返回true,否则为false $domain = 'www.php.cn';//有值且不为空 $name = null;//用null初始化变量 $job;//已声明,未赋值 var_dump(isset($var));//false var_dump(isset($domain));//true var_dump(isset($name));//false var_dump(isset($job));//false,未赋值并不报错,与is_null不同
运行实例 »
点击 "运行实例" 按钮查看在线实例
(2)变量的作用域:全局,局部,静态
实例
<?php echo '<h3>变量作用域</h3>'; echo '<hr>'; // 作用域只有三个: // 1.全局:函数之外创建,仅在当前脚本除函数之外的地方使用; // 2.局部:函数内部创建,仅能在函数中使用,外部不可访问; // 3.静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失; // $siteName = '我的博客';//全局变量 //全局变量自动成为全局变量数组中的一个键值对,键与变量对应 $GLOBALS['siteName'] = '我的博客';//全局变量替代语法 echo "$siteName"; echo '<hr>'; function hello(){ global $siteName;//引用全局变量,使用全局变量数组,不必声明引入 $userName = 'JcLi';//局部变量 return '欢迎来到'.$siteName.',我是:'.$userName; } echo hello(); echo '<hr>'; //静态变量,必须且仅能在函数中声明和使用 function myStatic(){ static $num = 1; return '第'.$num.'次输出'.$num++.'<br>'; } echo '第一次执行完成后$num值:'.myStatic().'<br>'; echo '第二次执行完成后$num值:'.myStatic().'<br>'; echo '第三次执行完成后$num值:'.myStatic().'<br>'; echo '第四次执行完成后$num值:'.myStatic().'<br>'; echo '<hr>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
手抄: