用空值格式化php echo

时间:2019-04-14 18:08:29

标签: php implode notnull

比方说,我有一个名为$t的php数组,其中包含5个元素。出于演示目的,我们将其称为$t = [a,b,c,d,e]

我想像这样在括号中回显所有元素: (a, b, c, d, e)。但是,如果数组$t中有空值,我希望此括号格式能够保留。

例如,如果数组中的cd为空,则应回显(a, b, e)。在不尝试所有可能的排列的情况下进行此操作的有效方法是什么(对于大型数组,这是不可能的)。

我尝试过:

echo "("   
for($j=0; $j<5; $j++){
    if(!empty($t[j])){
        echo " $t[j], ";
    }
}
echo ")"

但是这在最后留下了逗号,即使这样我也不确定是否能解决所有可能的情况。预先感谢!

1 个答案:

答案 0 :(得分:2)

效果很好:

<?php

function is_not_null($v) { return !is_null($v); }
$t = ['a', 'b', null, null, 'e'];
echo '('.implode(',', array_filter($t, 'is_not_null')).')';

结果:

(a,b,e)