用空值格式化 php echo
Formatting php echo with null values
假设我有一个名为 $t
的 php 数组,其中包含 5 个元素。出于演示目的,我们将其称为 $t = [a,b,c,d,e]
.
我想 回显 括号中的所有元素,如下所示:
(a, b, c, d, e)
。但是,如果数组 $t
中存在空值,我希望保留此括号格式。
例如,如果c
和d
在数组中为null,它应该回显(a, b, e)
。在不尝试所有可能的排列(大数组大小不可能)的情况下执行此操作的有效方法是什么。
我试过:
echo "("
for($j=0; $j<5; $j++){
if(!empty($t[j])){
echo " $t[j], ";
}
}
echo ")"
但这在末尾留下了一个逗号,即便如此我也不确定它是否说明了所有可能的情况。提前致谢!
效果很好:
<?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)
假设我有一个名为 $t
的 php 数组,其中包含 5 个元素。出于演示目的,我们将其称为 $t = [a,b,c,d,e]
.
我想 回显 括号中的所有元素,如下所示:
(a, b, c, d, e)
。但是,如果数组 $t
中存在空值,我希望保留此括号格式。
例如,如果c
和d
在数组中为null,它应该回显(a, b, e)
。在不尝试所有可能的排列(大数组大小不可能)的情况下执行此操作的有效方法是什么。
我试过:
echo "("
for($j=0; $j<5; $j++){
if(!empty($t[j])){
echo " $t[j], ";
}
}
echo ")"
但这在末尾留下了一个逗号,即便如此我也不确定它是否说明了所有可能的情况。提前致谢!
效果很好:
<?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)