PHP中isset(变量)和直接判断变量的区别

WBOY
Release: 2016-06-23 13:29:56
Original
1057 people have browsed it

在变量为空字符串和布尔值false以及数值0时,isset全部返回true,直接判断全部返回false:

$empty='';echo (isset($empty)?'1':0);//1echo '<br/>';echo ($empty?'1':0);//0
Copy after login
$empty=false;echo (isset($empty)?'1':0);//1echo '<br/>';echo ($empty?'1':0);//0
Copy after login
$empty=0;echo (isset($empty)?'1':0);//1echo '<br/>';echo ($empty?'1':0);//0
Copy after login

只有在变量为null时,它们才是没有区别的:

$empty=null;echo (isset($empty)?'1':0);//0echo '<br/>';echo ($empty?'1':0);//0
Copy after login

虽然isset在判断变量没什么作用,但是在判断数组有无一个变量却很好用:

$arr=array('1'=>1,'3'=>3);$temp=null;//PS:php中数组不同于map,如果没有key而你去取值会引发错误而不是返回null,所以要有对应的判断,先判断再取值if (isset($arr['2'])) {//效果等同于array_key_exists('2', $arr),但相对代码短一点    $temp=$arr['2'];}echo $temp;
Copy after login

还有对isset不了解的可以去官网看一下就明白了:
http://php.net/manual/zh/function.isset.php

版权声明:本文为博主原创文章,未经博主允许不得转载。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template