从非空字段值创建字符串


Create string from not empty field values

我使用以下函数来检查地址的每个部分是否都包含一个值,要么是完整地址存在地址-城市-州-邮编,要么只是城市和州。写这个函数的干净方法是什么。我想一定有一种方法可以将每个变量插入到数组中,并在每个数组成员上循环,检查它是否包含创建字符串的值。

$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;
}
$location = implode(
    ', ', 
    array_filter(
        array(
            get_field('location_name'), 
            get_field('address'), 
            get_field('city'), 
            get_field('state'), 
            get_field('zipcode')
        )
    )
);