使用空值格式化php echo

使用空值格式化php echo,php,implode,notnull,Php,Implode,Notnull,假设我有一个名为$t的php数组,其中包含5个元素。出于演示目的,我们将其命名为$t=[a,b,c,d,e] 我想回显括号中的所有元素,如下所示: (a、b、c、d、e)。但是,如果数组$t中存在空值,我希望此括号格式保持不变 例如,如果c和d在数组中为空,则它应该回显(a、b、e)。在不尝试所有可能的排列的情况下(在大数组大小的情况下是不可能的),这样做的有效方法是什么 我试过: echo "(" for($j=0; $j<5; $j++){ if(!empty($t[j]

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

我想回显括号中的所有元素,如下所示:
(a、b、c、d、e)
。但是,如果数组
$t
中存在空值,我希望此括号格式保持不变

例如,如果
c
d
在数组中为空,则它应该回显
(a、b、e)
。在不尝试所有可能的排列的情况下(在大数组大小的情况下是不可能的),这样做的有效方法是什么

我试过:

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

对于($j=0;$j而言,这非常有效:

<?php

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

这很有效。完成后只需删除尾随逗号。使用
rtrim()
即可。
array\u filter
join
是您的朋友…