Blogger Information
Blog 61
fans 0
comment 0
visits 62848
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
is_null(),empty(),isset()区别与变量作用域
Pengsir
Original
839 people have browsed it

实例

<?php
header("content-type:text/html;charset=utf8");
//is_null(),empty(),isset()的区别
/**
 * 一.is_null()
 * 1.声明了变量,未赋值(未初始化),默认是null,所以返回是true
 * 2.声明了变量,赋值为null,返回是true
 * 3.声明了变量,赋了一个非null值,将这个变量unset($val2)后,就变成了没定义,同第一种情况,返回true
 */
$val;
$val1=null;
$val2='php';
unset($val2);
var_dump(is_null($val));//bool(true)
var_dump(is_null($val1));//bool(true)
var_dump(is_null($val2));//bool(true)
echo '<hr>';
/*
 * 二.empty()
 * 1.空字符串,空数组,整数0,字符串0,null,false这些情况被认为是empty()
 * 2.判断用户在文本框输入的内容:用empty()  因为文本框value属性它的默认值为空字符串(value="");
 */
$str1='';
$str2=0;
$str3="0";
$str4=[];
$str5=null;
$str6=false;
var_dump(empty($str1));//bool(true)
var_dump(empty($str2));//bool(true)
var_dump(empty($str3));//bool(true)
var_dump(empty($str4));//bool(true)
var_dump(empty($str5));//bool(true)
var_dump(empty($str6));//bool(true)
echo '<hr>';
/*
 * 三.isset()正好与is_null()相反
 * 需满足两个条件:1.变量存在 2.变量不为null,返回true
 *
 */
$sta1='www.baidu.com';
$sta2=null;
$a='';
$sta3;//未赋值默认为null,返回为false
var_dump(isset($sta1));//bool(true)
var_dump(isset($sta2));//bool(false)
var_dump(isset($a));//bool(true)
var_dump(is_null($a));//bool(false)
var_dump(isset($sta3));//bool(false)
echo '<hr>';
/*
 * 总结:1.对于未声明只能用isset()进行判断
 * 2.对于已声明,为空用empty(),是否初化始用is_unll()
 */
/*
 * 1.什么是函数?
 * 函数就是脚本中具有特殊功能的代码块,可以重复调用
 * 函数的基本语法:
 *    1.第一种方法:function 函数名(参数){代码块}
 *     2.第二种以表达式:$函数名=function(参数){代码块}
 * 按名称调用发即可
 *
 * 变量的作用域有三个:
 * 1.全局:函数之外创建
 * 2.局部:函数之内创建
 * 3.静态:函数内创建,仅在函数中使用
 */

$name1='露西';
$name3='王大锤';
function call(){
    global $name3;
    $name2='李丽';
    return '现在开始点名:'.$name1.$name2.$name3;
}
echo call();//运行取不到$name1,因为$name1是全局变量,调call()只能拿到函数里局部的变量$name2;
echo '<hr>';
echo call();//使用关键字global(全局的),在函数中可以拿到全局变量$name3
echo '<hr color="red">';
//静态变量 访问静态变量只有在第一次执行的时候赋值,后面不在赋值,如果不是静态变量,每次执行都赋值
function test(){
    static $num=1;
    return '我做了'.$num.'次试验,'.'成功了'.$num++.'次';
}
echo test();//我做了1次试验,成功了1次
echo '<hr>';
echo test();//我做了2次试验,成功了2次
echo '<hr>';
echo test();//我做了3次试验,成功了3次

运行实例 »

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

总结:

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

  2. 对于已声明变量,为空用empty(),是否初化始用is_unll()
  3. 变量的作用域有三个:
    全局:函数之外创建
    局部:函数之内创建
    静态:函数内创建,仅在函数中使用

  4. 访问静态变量只有在第一次执行的时候赋值,后面不在赋值,如果不是静态变量,每次执行都赋值

  5. 什么是函数?
    函数就是脚本中具有特殊功能的代码块,可以重复调用

  6. 函数基本语法:

    第一种:function 函数名(参数){代码块}
    第二种以表达式:$函数名=function(参数){代码块}

手抄:

1.png2.png

Correction status:qualified

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