新手问题但有人可以帮助一个简单的函数在PHP连接期间跳过空变量并添加一个逗号。
实施例
$addressline1 = "Street";
$addressline2 = "";
$addressline3 = "London";
我想得到;
$concataddress = "Street, London";
而不是;
$concataddress = "Street, , London";
我从mysql DB获取地址
我显然可以使用if...else
语句并检查if(empty($addressline1))
等,但要寻找有效且简单的方法。
谢谢!
答案 0 :(得分:2)
您可以将它们放在一个数组中,并使用带有implode的数组过滤器
echo'<input type="checkbox" name="checkbox"/>';
echo'<textarea name="explain" id="explain"
cols="" rows="" style="width:300 ;height:300"></textarea>
if(isset($_POST['checkbox']))
{
???
}
答案 1 :(得分:1)
array_filter会删除评估为false
的所有元素。
$concatAddress = implode(', ', array_filter(array(
$addressline1,
$addressline2,
$addressline3,
...
)));
答案 2 :(得分:0)
尝试Vatev的建议:
$address = implode(", ", array_filter(array($addressline1, $addressline2, $addressline3));
答案 3 :(得分:-1)
使用变量名,你不会获得更高的效率。
如果将它存储在数组中,您可能会以代码看起来很好的方式提高效率,而不是速度。
例如:
function getAdres($ARR_adresParts){
$adres = array();
foreach($ARR_adresParts as $onePart){
if ($onePart !== ""){
$adres[] = $onePart;
}
}
return implode(", ",$adres);
}
然后称之为:
$adr = getAdres(array($addressline1,$addressline2,$addressline3));
不好,但考虑到这种情况,我怀疑它会变得更加美丽,然后就是这样。 : - )