Php - 使用 join() 时我可以忽略/跳过空字符串吗

标签 php arrays join

我有一个 PHP 脚本,可以根据几个子字符串生成一个连接的字符串。

作为示例,我在下面提供了一些示例代码,这些代码采用名字、中间名和姓氏数组,并在连接函数中在它们之间添加换行符。

第二个数组包含一个空字符串(中间名),我想在连接期间忽略它。

我想找到一个可以忽略 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

注意。我在实际情况下的数组包含应由“AND”关键字分隔的条件。我想避免结果为“condition1 AND AND condition3”

最佳答案

简单filter out空数组项:

echo join('<br>', array_filter($names2, 'strlen'));

关于Php - 使用 join() 时我可以忽略/跳过空字符串吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48258943/

相关文章:

mysql/mariadb - LEFT JOIN 聚合不返回所有值

PHP 错误 [处理此指令时发生错误]

java - 按 List 中的指定值对 ArrayList 进行排序

javascript - 按重复模式打印数组值

java - 如何执行 JButton Action 监听器一定次数

r - 合法连接上的 data.table 笛卡尔连接警告

php - PHP 中的相对路径问题包括

php - Smarty - register_object 和 allocate_by_ref 之间的区别

php - Woocommerce 根据数量和变化更改价格

MySQL 按另一行的匹配数排序查询响应