我想输出这样的地址,如123街道,地址,城市,县,邮政编码
数据存储在数据库中,我需要检查字段中是否有任何内容,所以我知道在地址中输出逗号
$address = array($club['clubAdd1'], $club['clubAdd2'], $clubCity, $club['clubCounty'], $club['clubPostcode']);
答案 0 :(得分:3)
$parts = array(
$club['clubAdd1'],
$club['clubAdd2'],
$clubCity,
$club['clubCounty'],
$club['clubPostcode'],
);
$address = array();
foreach ($parts as $part)
{
if ('' != $part)
{
$address[] = $part;
}
}
echo implode(', ', $address);
编辑:一行
echo implode(', ', array_filter($array));
编辑2:更精确的一行
上述问题是0
和'0'
也会被移除,这可能不是理想的行为。这将解决这个问题:
array_filter($array, function ($value)
{
return strlen(trim($value));
}
);
答案 1 :(得分:1)
通过array_filter()
函数运行数组,没有第二个参数,将返回一个没有空元素的数组。
例如:
$address_line = implode(', ',array_filter($address_array));
正如迈克尔所指出的,这也会删除nnumeric 0
值。
答案 2 :(得分:1)
单线
echo implode(', ', array_filter(array($club['clubAdd1'], $club['clubAdd2'], $clubCity, $club['clubCounty'], $club['clubPostcode'])))