注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

php对空变量的判断  

2017-09-20 09:42:35|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在某些项目中,需要对一些认定为空的字符串来做下判断,这里先前提说明下,这里认定为空的变量条件假设如下:
1)变量没定义
2)值为null
3)值为“”
4)值为0
5)值为“ ”
6)全是缩进,垂直制表符,换行符,回车和换页字符等。
如果需要判断这种空变量,就需要多个函数来联合判断才能排除相关的空变量。如没定义,1就要用isset(),2-4可以用empty(),至于5-6就要用到了ctype_space()。前面两个函数可能大家都很熟悉了,但是ctype_space大家就很少用了。这里说明一下,这个函数是做空白字符检测的,每个字符最终被实际输出的时候都是某种形式的空白,就返回 TRUE ;除了空白字符,还包括缩进,垂直制表符,换行符,回车和换页字符。
所以如果需要判断以上6种情况的空变量,使用如下联系判断即可。

<?php

//判断$var为空

if(!isset($var) || empty($var) || ctype_space($var)){

echo "为空";

}else{

echo "不为空";

}

?>

这里说明一下,Ctype函数是PHP内置的字符串体测函数,都只有一个字符串类型参数,都返回布尔值。除了ctype_space()之外,还有如下:
ctype_alnum  检测是否是只包含[A-Za-z0-9]
ctype_alpha 检测是否是只包含[A-Za-z]
ctype_cntrl  检查是否是只包含类是“\n\r\t”之类的字 符控制字符
ctype_digit  检查时候是只包含数字字符的字符串(0-9)
ctype_graph 检查是否是只包含有可以打印出来的字符(除了空格)的字符串
ctype_lower  检查是否所有的字符都是英文字母,并且都是小写的
ctype_print 检查是否是只包含有可以打印出来的字符的字符串
ctype_punct 检查是否是只包含非数字/字符/空格的可打印出来的字符
ctype_upper 检查是否所有的字符都是英文字母,并且都是大写的
ctype_xdigit 检查是否是16进制的字符串,只能包括 “0123456789abcdef”
当然这些函数其实也可以用正则判断来代替,不过就效率而言,Ctype函数会比较高一些。至于大家喜欢用那种就请自行选择吧。
  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018