この123 Street、住所、市、郡、郵便番号のような住所を出力したい
データはデータベースに保存されており、フィールドに何かが含まれているかどうかを確認する必要があるため、アドレスにコンマを出力する必要があります
$address = array($club['clubAdd1'], $club['clubAdd2'], $clubCity, $club['clubCounty'], $club['clubPostcode']);
$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));
}
);
array_filter()
2 番目の引数なしで関数を介して配列を実行すると、空の要素のない配列が返されます。
例えば:
$address_line = implode(', ',array_filter($address_array));
Michael が指摘したように、これにより nnumeric0
値も削除されます。
ワンライナー
echo implode(', ', array_filter(array($club['clubAdd1'], $club['clubAdd2'], $clubCity, $club['clubCounty'], $club['clubPostcode'])))