忽略串联字符串中的空值的快速函数或快速方法


Quick function or quick way to ignore empty value in concatenated string

我有一个串联形式的字符串:

$string = $firstName." | ".$middleName." | ".$lastName;

现在考虑$middleName为空。

它将显示如下:

John | | Doe

我想忽略那些空的变量。

我想要这样:

John Doe

我需要一个快速的方法。如果else条件为,我也可以通过解决此问题,但这不是最佳解决方案。

我需要一种快速的方法来处理这种情况。

有什么解决方案吗?

试试这个:

$string = implode(' | ', array_filter(array($firstName, $middleName, $lastName), 'strlen'));

现在,您甚至可以创建一个大型参数数组。所有空参数在进行凹入之前都会被剥离。我现在用的是烟斗,但任何东西都可能偏离正轨。

为什么不这样:

$name = implode(" ", array($firstName, $middleName, $lastName));

字符串替换方法可以特定于以下序列中的中间名

defaultName="defaultName123";

middlename=(userInput==")?defaultName:userInput;

现在字符串将包含

|defaultname123|

只有在中间,你才能取代它。

PS很抱歉仍然有一个if语句隐藏在?:

第三语句