博客列表 >变量的作用域与检测方法

变量的作用域与检测方法

虞者自愚的博客
虞者自愚的博客原创
2018年04月13日 11:31:22691浏览

is_null(),empty(),isset()三个函数的功能

实例

<meta charset="Utf-8">
<?php
echo '<h3>3.is_null(),empty(),isset()区别</h3>';
echo '<hr color="blue">';
echo '<h4>is_null() null 返回ture <br> empty()非空判断 空为ture <br>isset()有无判断,有为ture</h4>';
echo '<hr color="blue">';
/**
 * 一、is_null()什么时候返回true?
 * 1.变量已声明但未初始化,默认为null值
 * 2.变量显示赋值为null
 * 3.unset()销毁后,变量为null值
 * 总结:变量不存在/没赋值/值为null,则返回true
 */

$Na1;
$Na2 = null;
// $Na2 = 'null';  区别于 null
$Na3 = '老渔翁';
unset($Na3);  //销毁变量
$Na4 = '猪一样开心';

@var_dump(is_null($Na1));
var_dump(is_null($Na2));
@var_dump(is_null($Na3));

echo '<hr color="red">';

/**
 * 二、empty()什么时候返回true?
 * 1.空字符串,空数组
 * 2.null
 * 3.0 / '0' / false
 *
 * 总结:
 * 1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断
 * 2. 如果一个变量存在,但它的值对运行结果无影响,则视为空
 * 3. null一定是空,但空不一定是null,因为它可能是空值或0或false
 */

$na1 = '';
$na2 = [];
$na3 = null;
$na4 = 0;
$na5 = '0';
$na6 = false;
$na7 = 'null';

var_dump(empty($na1));
var_dump(empty($na2));
var_dump(empty($na4));
var_dump(empty($na5));
var_dump(empty($na6));
var_dump(empty($na7));   //'null' 注意与null的区别  带'' 就是被赋值了 不是空


/**
 * isset()是null的取反操作
 * 总结:变量已经存在,并且它的值不为null,返回true,否则为false
 */
echo '<hr color="red">';

var_dump(isset($Na1));  //变量未被初始化,默认为null
var_dump(isset($Na2));  //变量为null值,返回false
var_dump(isset($Na3));  //变量已被销毁 所有返回false
var_dump(isset($Na4));

echo '<hr color="red">';

var_dump(isset($na));   //isser 对未赋值的变量不报错返回false 表示未申明
@var_dump(is_null($na));  //未申明,is_null会自动赋null值  返回ture
var_dump(empty($na));     //未申明,empty会自动赋null值  返回ture

echo '<hr color="red">';




$a = null;
$b = '';
$c = '老渔翁';

var_dump(is_null($a)); //null
var_dump(empty($b));  //非空判断
var_dump(isset($c));  //有无判断

运行实例 »

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


变量的作用域: 全局,局部,静态

实例

<meta charset=utf-8>
<?php
echo '<h3>变量的作用域</h3>';

echo '<hr color="red">';

$Name = '桃谷绘里香';
$Enname = 'Erika Momodani';

echo $Name.',英文名:'.$Enname.',1993年4月22日出生于日本。';

echo '<hr color="red">';

function content(){
  global $Name;   //全局变量在函数里面调用必须引入  或者使用全局变量数组 $GLOBALS['Name']
  $ennane = 'Erika Momodani';
  return $Name.',英文名:'.$ennane.',1993年4月22日出生于日本。';
}
echo content();

echo '<hr color="red">';

function contents(){
  // global $Name;   //全局变量在函数里面调用必须引入  或者使用全局变量数组 $GLOBALS['Name']
  $ennanes = 'Erika Momodani';
  return $GLOBALS['Name'].',英文名:'.$ennanes.',1993年4月22日出生于日本。';
}
echo contents();

echo '<hr color="red">';
echo '<h4>静态变量</h4>';
echo '<hr color="red">';
function xulie(){
    static $Num = 1;  //static 为静态变量
    return '第'.$Num.'次输出'.$Num++.'<br>';
}
echo xulie();
echo xulie();
echo xulie();
echo xulie();
echo xulie();

echo '<hr color="red">';

// echo '我的名字是:'.$_GET['name'];


function Myname(){
    return '我的名字是:'.$_GET['name'];
}
echo Myname();

运行实例 »

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

手写

IMG_20180413_110228.jpg

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