博主信息
博文 61
粉丝 0
评论 0
访问量 74625
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
is_null(),empty(),isset()区别与变量作用域
Pengsir
原创
1022人浏览过

实例

<?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

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学