2012-02-13 27 views
1

好吧,我只是沒有足夠的知識爲這個簡單的腳本顯然。基本上,最後我會在地址字段上使用ifthen語句,如果地址字段爲空,則地圖不會出現,如果地址有地址,則會顯示地圖。簡單IfThen來自WordPress字段的聲明

這不是ifthen語句,我只是想弄清楚如何從數組中寫入一個,或者是什麼,我得到。這是我可以從地址欄輸出。

<?php 

global $userdata, $app_abbr, $gmap_active; 

$custom_fields = get_post_custom(); 
$varaddress = $custom_fields[$app_abbr.'_street']; 

echo strlen($varaddress); // 
var_dump($varaddress); // 
echo string($varaddress); 
?> 

這就是我從獲得:

當地址字段爲空:

5array(1) { [0]=> string(0) "" } 

當地址欄已滿:

5array(1) { [0]=> string(24) "14 South Magnolia Avenue" } 

我試着t o弄清楚如何寫一個簡單的ifthen語句反對這個,但不管我如何嘗試,它都會保持真實的...所以我把它分解下來,看看究竟是什麼被返回,那是輸出。怎麼樣?

好,因爲我現在知道如何從數組中「彈出」某些東西......大聲笑這裏是ifthen聲明,似乎工作。讓我知道它是否可以精簡:

<?php 

global $userdata, $app_abbr, $gmap_active; 

$custom_fields = get_post_custom(); 
$varaddress = $custom_fields[$app_abbr.'_street']; 
$varmap = array_pop($varaddress); 

if (strlen($varmap) >= 1 && !is_bool($varmap)) { 
include_once (TEMPLATEPATH . '/includes/sidebar-gmap.php'); 
} else { 
echo "NO ADDRESS GIVEN FOR MAP"; 
} 

?> 
+0

顯然var_dump給我:array(1){[0] => string(24)「14 South Magnolia Avenue」}和字符串($ varaddress)沒有任何返回... – OcalaDesigns 2012-02-13 20:33:38

回答

2

你有什麼是一個元素的數組。您可以通過它的數組索引[0]訪問的地址或彈出它關閉:

echo $varaddress[0]; 
// Or  
echo array_pop($varaddress); 

它可以讓你5strlen()的原因是,當你施放一個數組作爲一個字符串,它傳遞給函數像strlen()時爲它會返回長度爲5的字符串Array。結果是誤導性的,並且與數組的實際內容無關。

+0

我欣賞它!我想到了strlen和array,但即使將其分解爲最基本的部分,我也能做到。我找不到任何東西來幫助我抓住我需要的部分。我通常可以通過小東西摸索,這只是讓我走開!大聲笑 – OcalaDesigns 2012-02-13 20:53:25