我有一个PHP脚本,它将根据几个子字符串生成一个连接字符串。
作为一个例子,我在下面提供了一些示例代码,它采用了第一个,中间名和最后一个名称的数组,并在join函数中添加了一个换行符。
第二个数组包含一个空字符串(中间名),我想在连接期间忽略它。
我想找到一个解决方案,我可以忽略join()函数中的空字符串。
可以用一些巧妙的“技巧”完成,还是我必须先从空字符串中过滤数组?
// The array is designed as [firstname, middlename, lastname]
$names1 = array("John", "William", "Smith");
$names2 = array("Adam", "", "Johnson");
echo join("<br>", $names1);
echo "<br>";
echo join("<br>", $names2);
// Result:
/*
John
William
Smith
Adam
<-- Can this empty line be ignored by some "trick"? :)
Johnson
NB 即可。我在实际情况中的数组包含的条件应由“AND”关键字分隔。我想避免结果为“condition1 AND AND condition3”
答案 0 :(得分:5)
简单filter out空数组项:
echo join('<br>', array_filter($names2, 'strlen'));
答案 1 :(得分:1)
扩展Mike的答案并直接从php.net
获取// removes all NULL, FALSE and Empty Strings but leaves 0 (zero) values
$result = array_filter( $array, 'strlen' );