PHP中如何判断字符串为空?

作者: TaoBaoSDK
发布时间:2015-07-21 10:26:13

 

 

在开发淘宝SDK模板时,在module.xml中经常需要配置变量以便于用户进行模板的编辑。但难免用户在输入参数时,忘记了输入参数。此是,我们就得使用在PHP代码中加入一段判断用户是否输入了参数的代码,常用的有两种方式:

方式一:使用$_MODULE['变量名']的方式

if($_MODULE['var']) {
     // 这是表示已经输入了值
}

else {
     // 这里表示未输入值
}

 这种方法很简单,我也一直常用。

 

方式二:先赋值,再用empty判断。

但有时候,为了代码的紧凑性,经常需要在模块的PHP文件中的最前面初始化变量的值。然后再逐一判断用户哪些输入是有效的,如果出现了错误,那就应该在模块中展示出错误给用户。如下:

$mod_title = $_MODULE['title'];
$mod_style = $_MODULE['style'];
$mod_href = $_MODULE['href'];

// ……

 为了不使模板出现不正常的现象,我们可以需要对$mod_style进行判断,只是指定了$mod_style的值时,才能根据它对模板进行展示。此时,一般是直接对变量$mod_style进行判断了,而我们最常见的错误方式是:

if($mod_style == "") { //.... }

 或者是:

if($mod_style) { //.... }

 在实际的应用当中,却并不能如我们所愿,在我亲自测试之后发现,不论使用上面哪种方式,即使我不输入任何值,if后面的条件值总是为true。所以,我一般将其改写成了如下形式:

if($_MODULE['style']) { //... }

 如此一来便能正确的解决问题,但是输入 $mod_style 比输入 $_MODULE['style'] 更加迅速,也更不容易出错,所以我还是希望使用$mod_style来判断,结果采用了如下代码:

if(!empty($mod_style)) { // .... }

 经测试,正常了!

标签: php
来源:http://www.cnblogs.com/taosdk/archive/2012/01/11/2318668.htm

推荐: