从非空字段值创建字符串

时间:2014-11-12 14:45:06

标签: php string concatenation

我正在使用以下函数来检查地址的每个部分是否包含值,要么是完整地址存在地址城市状态zip还是仅包含城市和州。什么是编写此函数的干净方法。我当时认为必须有一种方法将每个变量插入到一个数组中并循环遍历每个数组成员,检查它是否包含一个值来创建字符串。

$location_name = get_field('location_name');
$address = get_field('address');
$city = get_field('city');
$state = get_field('state');
$zipcode = get_field('zipcode');

if($location_name){
    $location = $location_name;
}
if($address){
    $location .= $address.', ';
}
if($city){
    $location .= $city;
}
if($state){
    $location .= ', '.$state;
}
if($zipcode){
    $location .= $zipcode;
}

1 个答案:

答案 0 :(得分:2)

$location = implode(
    ', ', 
    array_filter(
        array(
            get_field('location_name'), 
            get_field('address'), 
            get_field('city'), 
            get_field('state'), 
            get_field('zipcode')
        )
    )
);