博客列表 >php之变量作用域is_null(),empty(),isset()-0412

php之变量作用域is_null(),empty(),isset()-0412

有点凉了
有点凉了原创
2018年04月13日 12:09:06671浏览

php之变量作用域is_null(),empty(),isset()

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/4/13 0013
 * Time: 上午 10:43
 */
header("content-type:text/html;charset=utf-8");
/**
 * empty — 检查一个变量是否为空
 * 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
 * "" (空字符串)
 * •0 (作为整数的0)
 * •0.0 (作为浮点数的0)
 * •"0" (作为字符串的0)
 * •NULL
 * •FALSE
 * •array() (一个空数组)
 * •$var; (一个声明了,但是没有值的变量)
 */
$isEmpy_1;
$isEmpy0 = "";
$isEmpy1 = "1";
$isEmpy2 = "1";
$isEmpy3 = "0";
$isEmpy4 = "0.0";
$isEmpy5 = null;
$isEmpty6=array();
var_dump(empty($isEmpy_1));echo "<br>";
var_dump(empty($isEmpy0));echo "<br>";
var_dump(empty($isEmpy1));echo "<br>";
var_dump(empty($isEmpy2));echo "<br>";
var_dump(empty($isEmpy3));echo "<br>";
var_dump(empty($isEmpy4));echo "<br>";
var_dump(empty($isEmpy5));echo "<br>";
var_dump(empty($isEmpty6));echo "<br>";

echo "<br>";echo "<br>";echo "<br>";echo "<br>";echo "<br>";
/**
 * is_null — 检测变量是否为 NULL
 * 1、被赋值为 NULL。
 * 2、尚未被赋值。
 * 3、被 unset()。
 */
$isNull0=null;
$isNull1;
$isNull2=1;
var_dump(is_null($isNull0));echo "<br>";
@var_dump(is_null($isNull1));echo "<br>";
var_dump(is_null($isNull2));echo "<br>";
unset($isNull2);
@var_dump(is_null($isNull2));echo "<br>";

echo "<br>";echo "<br>";echo "<br>";echo "<br>";echo "<br>";
/**
 * isset — 检测变量是否设置
 * 检测变量是否设置,并且不是 NULL。
 */
$isSet0="";
$isSet1="set";
$isSet2="null";
$isSet3=null;
var_dump(isset($isSet0));echo "<br>";
var_dump(isset($isSet1));echo "<br>";
unset($isSet1);
var_dump(isset($isSet1));echo "<br>";
var_dump(isset($isSet2));echo "<br>";
var_dump(isset($isSet3));echo "<br>";

echo "<br>";echo "<br>";echo "<br>";echo "<br>";echo "<br>";
/**
 * 变量:全局、局部、静态变量
 */
$a = 1;
$b = 1;
function Test(){
    global $a,$b;//如此设置 变量操作改为全局 任意处设置值跟随全局变化
//    echo $a = $a+$b;
    $a = $a+$b;
}
Test();
echo $a;echo "<br>";

$num = 1;
function LogNum($i){
    static $num;
    $num++;
    echo "第".$i."次输出 ".$num;echo "<br>";
}
for ($i=0;$i<10;$i++){
    LogNum($i);
}
echo $num;//静态化后 当前值在方法内部不会重置丢失累计叠加 但是方法外保持初始值不变

//预定义变量
//$GLOBALS;
//$_SERVER;
//$_GET;
//$_POST;
//$_FILES;
//$_REQUEST;
//$_SESSION;
//$_ENV;
//$_COOKIE;

运行实例 »

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

1111.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议