来自WordPress Field的简单IfThen语句

时间:2012-02-13 20:26:46

标签: php wordpress

好吧,我显然对这个简单的脚本没有足够的知识。基本上,最后我将在地址字段上使用ifthen语句,如果它为空,则不会显示地图,如果有地址,则会显示地图。

这不是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" } 

我正在试图弄清楚如何编写一个简单的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"; 
}

?>

1 个答案:

答案 0 :(得分:2)

你拥有的是一个单元素阵列。您可以通过其数组索引[0]访问该地址,也可以将其弹出:

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

它为5提供strlen()的原因是,当您将数组作为字符串转换为将其传递给类似strlen()的函数时,它将返回字符串{{1它的长度为5.结果是误导性的,与数组的实际内容无关。