php编程基本功之isset与empty

简介:

最常用的两个函数,许多来应聘的有多年编程经验的老鸟都搞不清楚,见下面的例子:

 
 
  1. $arr[] = ''
  2. $arr[] = 0; 
  3. $arr[] = NULL; 
  4. $arr[] = null; 
  5. $arr[] = '0'
  6. $arr[] = ' '
  7.  
  8. echo "isset\tempty\n"
  9. echo "-------------------------------\n"
  10. foreach ($arr as $key => $val
  11.     echo isset($val) ? 'true''false'
  12.     echo "\t"
  13.     echo empty($val) ? 'true''false'
  14.     echo "\n"

输出:

 
 
  1. isset   empty 
  2. ------------------------------- 
  3. true    true 
  4. true    true 
  5. false   true 
  6. false   true 
  7. true    true 
  8. true    false 

当我们在表单输入时,经常遇到的一个问题,尤其是在做配置的时候,当填入0时,代表的是值是0,但不填值表示的可能是该值未定义。对于这种情况可以用下面的函数来做判断:

 
 
  1. /** 
  2.  * 判断值是否为空 
  3.  * 
  4.  * 在php中,0,null,array()和''用empty函数判断时都会返回true, 但实际上很多情况下0是不应当被认为是空 
  5.  * 的。比如在设置参数值时,0可能表示值真的是0,而空字符串则可能表示该值未设置 
  6.  * 
  7.  * @author ustb80 
  8.  * @param mixed $value 变量值 
  9.  * @param boolean $is_trim 是否要去掉前后空格 
  10.  * @return boolean 
  11.  */ 
  12. function isEmpty($value$is_trim = false) 
  13.     return $value === null || $value === array() || $value === '' || ($is_trim && is_scalar($value) && trim($value) === ''); 
  14.  
  15. echo isEmpty(0) ? '1':'0'
  16. echo isEmpty('0') ? '1':'0'

输出:

 
 
  1. 00

可以看到输入0已不再被认为是空了,不论其是字符还是数字。










本文转自 ustb80 51CTO博客,原文链接:http://blog.51cto.com/ustb80/1047128,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
PHP Python
总是忘了isset与empty的区别-php随记
@(狂汗)都是5个单词,不能从字数上编口诀.... isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE。
19 0
|
3月前
|
PHP
渐进式编程之旅:探寻PHP函数的奇妙世界
欢迎来到渐进式编程之旅!在编程的世界中,函数是一种强大而重要的工具,而PHP函数更是让我们能够创造出令人惊叹的网络应用程序和网站的关键。你是否曾经想过探寻PHP函数的奇妙世界,深入了解它们的工作原理以及如何利用它们来解决编程难题?本文将带你踏上这个神奇之旅,一起揭开PHP函数的面纱,探索这个渐进式编程世界的无限可能性。
92 0
|
8月前
|
PHP
PHP——你已经学会了编程
PHP——你已经学会了编程
|
8月前
|
PHP
PHP——人人都会编程
PHP——人人都会编程
|
8月前
|
安全 Oracle Java
浅谈Java、PHP、C++编程的优缺点
Java 、PHP、C++ 编程语言都是非常流行的编程语言,在开发、Web 开发、移动应用开发等领域都有广泛的应用。
110 0
PHP踩坑记录-empty判断浮点型
PHP踩坑记录-empty判断浮点型
68 0
|
开发框架 移动开发 网络协议
php进阶编程-easyswoole框架的学习和开发
php进阶编程-easyswoole框架的学习和开发
123 0
php进阶编程-easyswoole框架的学习和开发
PHP:empty判断对象为空
PHP:empty判断对象为空
|
安全 关系型数据库 MySQL
PHP编程之认识
PHP是PHP:Hypertext Preprocessor(超文本预处理器)的缩写 是一种跨平台、HTML嵌入式的服务器端脚本语言,其独特的语法混合 了C语言、Java语言和Perl语言的特点,是一种被广泛应用的、开源 式的多用途脚本语言,尤其适合web开发。 PHP是B/S(Browser/Server的简写,即浏览器/服务器)体系结 构,属于三层结构模式。服务器启动后,可以不适用相应的客户端软件 只使用浏览器即可访问,这样既保持了图形化的用户界面,又大大减少 了应用维护量。
159 0
PHP编程之认识
|
PHP 开发者
为什么很多人学习PHP编程都喜欢自学成才?推荐几个php自学网站
为什么很多人学习PHP编程都喜欢自学成才?推荐几个php自学网站
108 0

相关产品

  • 云迁移中心