博客列表 >412作业_is_null(),empty(),isset()的用法

412作业_is_null(),empty(),isset()的用法

陈小伟宝宝的博客
陈小伟宝宝的博客原创
2018年04月13日 16:49:53617浏览

实例

<?php 
echo "<h2>0412作业,is_null(),empty(),isset()用法</h2>";
print("<hr color='red'>");
//先学习一下var_dump()方法

$shuCountry = array('刘备', '关羽',  '张飞' );
print('<pre>');

var_dump($shuCountry);
//var_dump()能打印数组,还等计算变量的字符数 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。


echo "<hr>";
//is_null() — 检测变量是否为 NULL

/**
 * 一、is_null()什么时候返回true?
 * 1.变量已声明但未初始化,默认为null值
 * 2.变量显示赋值为null
 * 3.unset()销毁后,变量为null值
 * 总结:变量不存在/没赋值/值为null,则返回true 
 */


$tes1;
$tes2 = null;
$tes3 = 'null';

var_dump(is_null($tes1)? '是' : '不是');
var_dump(is_null($tes2)? '是' : '不是');
var_dump(is_null($tes3)? '是' : '不是');
var_dump(is_null(''));//空值不是null

echo "<hr>";
/**
判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
 * 二、empty()什么时候返回true?
 * 1.空字符串,空数组
 * 2.null
 * 3.0 / '0' / false
 *
 * 总结:
 * 1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断
 * 2. 如果一个变量存在,但它的值对运行结果无影响,则视为空
 * 3. null一定是空,但空不一定是null,因为它可能是空值或0或false
 */

$etes1;
$etes2 = '';
$etes3 = 0;
$etes4 = '0';
$etes5 = false;
$etes6 = null;
$etes7 = 'null';

var_dump(empty($etes1)? '是空的': '不是空的');
var_dump(empty($etes2)? '是空的': '不是空的');
var_dump(empty($etes3)? '是空的': '不是空的');
var_dump(empty($etes4)? '是空的': '不是空的');
var_dump(empty($etes5)? '是空的': '不是空的');
var_dump(empty($etes6)? '是空的': '不是空的');
var_dump(empty($etes7)? '是空的': '不是空的');

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


 $istes1;
 $istes2 = 0;
 $istes3 = '';
 $istes4 = null;
 $istes5 = true;
 $istes6 = false;
 $istes8 = 'null';
var_dump(isset($istes1)? '有数据': '是空的');//是空的
var_dump(isset($istes2)? '有数据': '是空的');
var_dump(isset($istes3)? '有数据': '是空的');
var_dump(isset($istes4)? '有数据': '是空的'); //是空的
var_dump(isset($istes5)? '有数据': '是空的');
var_dump(isset($istes6)? '有数据': '是空的');
//var_dump(isset($istes7)? '有数据': '是空的');
var_dump(isset($istes8)? '有数据': '是空的');


echo "<hr>";
/*
 * 作用域只有三个:
 * 1.全局:函数之外创建,仅在当前脚本除函数之外的地方使用;
 * 2.局部:函数内部创建,仅能在函数中使用,外部不可访问;
 * 3.静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失;


 在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:


*/

$nameAll = '张飞';
$nameAll2 = '关羽';
echo '在函数外返回',$nameAll;
echo "<br>";
function Fname()
{
	$Fname = '刘备';
	echo '在函数内定义的变量',$Fname;
	echo '<br>';
	echo '在函数内访问全局变量',$nameAll;//函数不能访问全局变量
	global $nameAll;  //加上global 声明可以访问全局变量 
	echo '在函数内访问全局变量',$nameAll;
	echo '<br>';
	echo '在函数内访问全局变量',$GLOBALS['nameAll2'];   //注意这种写法没有$符


	# code...
};

Fname();
echo "<hr>";



/*
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
,$GLOBALS['变量']


Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字:
*/

function Fstatic()
{
 //$ax = 1; //这样声明不会保留后续累计结果
	static $ax=1;  //这样声明变量后续结果会被保留
 echo '这是第'.$ax.'次打印'.$ax,'<br>';
  $ax++;

};
Fstatic();
Fstatic();
Fstatic();


 ?>

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
嘉俊2018-04-14 13:50:561楼
写的不是很准确,希望可以改进