1

この123 Street、住所、市、郡、郵便番号のような住所を出力したい

データはデータベースに保存されており、フィールドに何かが含まれているかどうかを確認する必要があるため、アドレスにコンマを出力する必要があります

$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()2 番目の引数なしで関数を介して配列を実行すると、空の要素のない配列が返されます。

例えば:

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

Michael が指摘したように、これにより nnumeric0値も削除されます。

于 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 に答える