如果$ var是空的不行吗?

时间:2013-11-05 02:51:20

标签: php

我运行此代码:

<?

$map = do_shortcode('[codepeople-post-map]');    
if (empty($map)) {echo '<br />'; } else {echo $map;}

?>

问题是$ map为空时它不会回显<br />

我尝试过这两种方法来查看$ map是否真的是空的:

  • echo $map; //结果为空,并且会在页面上显示注释。
  • var_dump($map); //结果:string(937) " "

我的问题string(937) " "的含义,我如何才能使代码正常工作? 我也试过了:

<? if ($map == string(937) " ") {echo '<br />'; } else {echo $map;} ?>

但到目前为止,最后一段代码没有成功,只是出错了。

2 个答案:

答案 0 :(得分:0)

A variable is considered empty if it does not exist or if its value equals FALSE

您的变量是一个带空格的字符串,其值为TRUE,因此它不为空。

您可以检查是否empty()

,而不是使用trim($map) === ''

答案 1 :(得分:0)

嗯,这意味着你有一个包含空格的字符串。 可能var以前是一个被清空的字符串。根据您的应用程序的用途,我建议您使用一种解决方案。

 if(trim($map) == "" || $map == null)
 {
      echo "<br />";
 }
 else
 {
      echo $map;
 }

因为实际上它只意味着字符串包含空格(这解释了为什么“”中有空格)。您应该尝试找到获取$ map值的位置,并尝试在那里进行一些验证。

亚历