我有这个串联形式的字符串:
$string = $firstName." | ".$middleName." | ".$lastName;
现在考虑$ middleName为空。
它会显示如下:
John | | Doe
我想忽略那些空的变量。
我想这样:
John Doe
我需要一个快速的方法。我也可以通过 if else conditions 解决这个问题,但这不是最佳解决方案。
我需要一种快速方法来处理这类情况。
有任何解决方案吗?
答案 0 :(得分:1)
试试这个:
$string = implode(' | ', array_filter(array($firstName, $middleName, $lastName), 'strlen'));
现在您甚至可以创建大量参数。在连接之前,所有空参数都被剥离。我现在使用了管道,但可能是任何偏离的道路。
答案 1 :(得分:0)
为什么不喜欢这样:
$name = implode(" ", array($firstName, $middleName, $lastName));
答案 2 :(得分:0)
字符串替换方法可以按以下顺序特定于中间名
defaultName =“defaultName123”;
middlename =(userInput ==“”)? defaultName:userInput;
现在字符串将包含
| defaultname123 |
只有在中间,你可以替换它。
PS抱歉还有一个if语句隐藏在? :高等教育声明