我运行此代码:
<?
$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;} ?>
但到目前为止,最后一段代码没有成功,只是出错了。
答案 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值的位置,并尝试在那里进行一些验证。
亚历