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,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 数据处理 PHP
深入浅出PHP编程之数组操作技巧
【10月更文挑战第30天】在PHP编程的海洋里,数组是一艘承载着数据结构的小船,掌握其操控之道,能让开发者在编码的旅程中乘风破浪。本文将带你领略数组的强大功能,从基础使用到高级应用,一步步揭开数组操作的神秘面纱。准备好你的航海装备,让我们启航吧!
42 4
|
2月前
|
SQL 关系型数据库 MySQL
如何学习PHP编程?
【10月更文挑战第2天】如何学习PHP编程?
43 9
|
2月前
|
存储 前端开发 PHP
PHP编程之探索与实践
【10月更文挑战第2天】在这篇文章中,我们将一起探索PHP编程的世界。PHP是一种广泛使用的开源服务器端脚本语言,它适用于Web开发。文章将详细介绍PHP的基本概念、语法和常用功能,并提供实用的代码示例。无论你是初学者还是有一定经验的开发者,都可以从中获得启发和帮助。让我们一起开启PHP编程的旅程吧!
|
3月前
|
存储 关系型数据库 PHP
探索PHP:从基础到高级编程
【9月更文挑战第19天】本文将带你深入了解PHP,一种广泛使用的服务器端脚本语言。我们将从基础语法开始,逐步深入到面向对象编程和数据库交互等高级主题。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
2月前
|
安全 IDE 测试技术
PHP编程中的错误处理与调试技巧
【9月更文挑战第33天】在代码的世界里,错误是不可避免的。它们像是旅途中的绊脚石,挑战着开发者的耐心和智慧。本文将带你走进PHP的错误处理机制,教你如何优雅地面对和解决这些“意外的小惊喜”。从基本的语法错误到逻辑上的漏洞,我们将一起探索如何通过错误报告、自定义错误处理和调试技巧来提升代码质量。准备好,让我们开始这段寻找并消灭错误的旅程吧!
|
1月前
|
自然语言处理 安全 PHP
深入浅出PHP编程:从基础到实战
【10月更文挑战第36天】本文将带你走进PHP的奇妙世界,无论你是初学者还是有一定经验的开发者,都将从中获益。文章首先介绍PHP的基础概念和语法,然后通过实际代码示例,展示如何利用PHP进行高效的Web开发。最后,我们将探讨一些高级主题,如面向对象编程、数据库操作以及安全性问题。让我们一起开启PHP的学习之旅吧!
|
1月前
|
存储 Serverless PHP
PHP编程入门:从基础到实战
【10月更文挑战第35天】本文将带你走进PHP的世界,从最基本的语法开始,逐步深入到实际应用。我们将通过简单易懂的语言和实际代码示例,让你快速掌握PHP编程的基础知识。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到你需要的内容。让我们一起探索PHP的魅力吧!
|
1月前
|
SQL 缓存 PHP
PHP编程中的性能优化技巧
【10月更文挑战第42天】在Web开发的世界里,PHP以其易用性和灵活性广受欢迎。但随之而来的性能问题也不容忽视。本文将探讨一些实用的PHP性能优化技巧,帮助开发者编写更高效、响应更快的代码。从减少不必要的计算到优化数据库查询,这些建议将引导你走向更流畅的PHP编码之旅。
26 0
|
1月前
|
自然语言处理 关系型数据库 MySQL
PHP编程入门:构建你的第一个网页应用
【10月更文挑战第29天】本文旨在引导初学者步入PHP编程的世界,通过深入浅出的方式介绍PHP的基础知识,并指导读者如何动手实践,搭建一个简单的网页应用。文章不仅涉及PHP代码的编写,还包括了环境配置、项目结构设计以及前后端交互的基本概念。适合对Web开发感兴趣且希望快速入门的朋友阅读。
48 0
|
2月前
|
PHP 开发者
PHP编程中的面向对象基础
【9月更文挑战第36天】在PHP的世界中,面向对象编程(OOP)是一块基石。它不仅为代码带来了结构、可维护性与重用性,还让复杂的问题变得简单化。通过掌握类与对象、继承与多态等核心概念,开发者可以构建出更加强大和灵活的应用。本文将引导你理解这些概念,并通过实例展示如何在PHP中应用它们,让你轻松驾驭OOP的力量。