2013-11-05 72 views
0

我運行此代碼:

<? 

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

?> 

問題是當$映射爲空,也不會呼應<br />

我已經試過這兩種方法,看看$地圖真的是空的:

  • echo $map; //結果爲空,並在頁面上顯示註釋。
  • var_dump($map); //它的結果:string(937) " "

我的問題是哪些呢string(937) " "手段,如何才能讓我的代碼工作? 我也試過:

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

但沒有成功,到目前爲止這最後的代碼是錯誤的,只是給出了錯誤。

+0

用is_null試一試。 – Vikas

+1

如何使用'isset'而不是'empty'? – JunM

+0

@JunM:如果$ map包含空格,則使用'isset'確認echo'
'。但另一方面,它不會迴應如果$ map包含我的地圖值。 – Cyborg

回答

0

嗯,這意味着你有一個字符串,其中有一個空格。 可能這個var之前是一個被清空錯誤的字符串。一個解決方案,我可以建議你,取決於你的應用程序的目的是什麼。

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

因爲實際上它只是意味着該字符串包含空格(這也解釋了爲什麼有空間「「)。您應該嘗試找到您獲得$ map值的位置,並嘗試在那裏進行驗證。

Alex

+0

我試過這段代碼,但它在頁面上沒有任何區別。它顯示MAP是否在那裏,否則它仍然不會'
' – Cyborg

+0

我可能建議你看看並告訴我們什麼是do_shortcode()的返回類型; 。如果你能發現我們能夠進一步發展 –