Blogger Information
Blog 38
fans 0
comment 2
visits 23930
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
is_null ()、empty ()、isset () 的用法和变量作用域—4月12日
→忆指凡尘&的博客
Original
631 people have browsed it

大家好

       以下是我对is_null ()、empty ()、isset () 的功能和用法的练习,如有错误望大家指出

实例

<?php
//设置三个变量,一个不赋值,一个为null,一个正常值
$val1;
$val2 = null;
$val3 = 'aaa';
//彻底销毁变量
unset($val3);
//查看变量返回值,上面三种情况皆为true
@var_dump(is_null($val1));
var_dump(is_null($val2));
@var_dump(is_null($val3));

echo '<hr color="red">';
//用empty判断变量值是否为空
$ral1 = '';
$ral2 = 0;
$ral3 = '0';
$ral4 = null;
$ral5 = [];
$ral6 = false;
$ral7 = 'bbb';
//空字符串,返回值为true
var_dump(empty($ral1));
//数字0,返回值为true
var_dump(empty($ral2));
//字符串0,返回值为true
var_dump(empty($ral3));
//null值,返回值为true
var_dump(empty($ral4));
//空数组,返回值为true
var_dump(empty($ral5));
//布尔值false,返回值为true
var_dump(empty($ral6));
//正常字符串,返回值为false
var_dump(empty($ral7));
echo '<hr color="red">';

$bal;
$bal1 = '正常';
$bal2 = null;
//未声明的变量,返回值为false,不报错
var_dump(isset($cal));
//已声明的变量,但是未赋值,返回值为false
var_dump(isset($bal));
//正常字符串,返回值为true
var_dump(isset($bal1));
//null值,返回值为false
var_dump(isset($bal2));

echo '<hr color="blue">';
var_dump(isset($));  //有无判断
var_dump(empty($));  //非空判断
var_dump(is_null($)); //null

运行实例 »

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

实例

<?php
echo '<h3>变量作用域</h3>';
echo '<hr color="green">';
//此时$name为全局变量
$name = '小明';
//当我们创建一个全局变量的时候,php会自动生成一个超全局变量
// $GLOBALS['name'];
function aaa(){
	//$nation为局部变量
	//在局部作用域中是无法直接引用全局变量的,可以利用global来引用
	// global $name;
	$nation = '英国';
	//可以直接引用超全局变量
	return $GLOBALS['name'].'去'.$nation;
}
echo aaa();
echo '<hr color="red">';
//静态变量
function bbb(){
	//static将变量只赋值一次
	static $num = 1;
	return '第'.$num.'次输出'.$num++;
}
//第一次输出1
echo bbb();
//第二次输出2
echo bbb();
//第三次输出3
echo bbb();
//第四次输出4
echo bbb();
//第五次输出5
echo bbb();

运行实例 »

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

以下是为了加深印象的手抄版本

微信图片_20180416131040.jpg微信图片_20180416131046.jpg微信图片_20180416131049.jpg微信图片_20180416131054.jpg微信图片_20180416131058.jpg微信图片_20180416131103.jpg

                                                                                        课程总结

1. is_null()什么时候返回true?

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

(2)变量显示赋值为null

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

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

2. empty()什么时候返回true?

(1)空字符串,空数组

(2)null

(3)0 / '0' / false

3. isset()是null的取反操作

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

4.基本使用原则:

(1) 对于未声明的变量只能使用isset()进行判断

(2)对于已声明的变量,为空判断用empty(),是否初始化判断用is_null()

5. 作用域只有三个:

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

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

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

6.全局变量在函数内是无法直接引用的,局部变量在函数外也是无法直接引用,可以通过global来引用

   例如:$siteName = 'PHP中文网';

             function aaa(){

                   global  $siteName

                    return $siteName

                   }

              echo aaa()

7.静态变量,必须且仅能在函数中声明和使用

例如:function bbb(){

                  static $num = 1;   //static将变量只赋值一次

                  return '第'.$num.'次输出'.$num++;

           }

         //第一次输出1

         echo bbb();

       //第二次输出2

         echo bbb();

       //第三次输出3

         echo bbb();

       //第四次输出4

        echo bbb();

      //第五次输出5

       echo bbb();


Correction status:Uncorrected

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