1

我想输出这样的地址 123 Street, address, city, County, postcode

数据存储在数据库中,我需要检查该字段是否有任何内容,所以我知道在地址中输出逗号

$address = array($club['clubAdd1'], $club['clubAdd2'], $clubCity, $club['clubCounty'], $club['clubPostcode']);
4

3 回答 3

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));
}
);
于 2013-03-28T22:14:50.557 回答
1

在没有第二个参数的情况下通过函数运行数组array_filter()将返回一个没有空元素的数组。

例如:

$address_line = implode(', ',array_filter($address_array));

正如迈克尔所指出的,这也会删除0数值。

于 2013-03-28T22:17:31.147 回答
1

单线

echo implode(', ', array_filter(array($club['clubAdd1'], $club['clubAdd2'], $clubCity, $club['clubCounty'], $club['clubPostcode'])))
于 2013-03-28T22:19:19.240 回答