PHP:如何用斜杠分隔符拼接可能未定义的表单变量?
解决PHP变量拼接保留分隔符问题
核心思路是先将每个变量统一处理为字符串(未定义的变量转为空字符串),再用/作为分隔符拼接。
PHP7+ 实现方案
使用空合并运算符??快速处理变量:
// 处理每个变量,未定义则赋值为空字符串 $var1 = $var1 ?? ''; $var2 = $var2 ?? ''; $var3 = $var3 ?? ''; $var4 = $var4 ?? ''; // 用/分隔拼接成目标字符串 $string = implode('/', [$var1, $var2, $var3, $var4]);
PHP5 兼容方案
如果项目仍在使用PHP5,改用isset()结合三元运算符:
$var1 = isset($var1) ? $var1 : ''; $var2 = isset($var2) ? $var2 : ''; $var3 = isset($var3) ? $var3 : ''; $var4 = isset($var4) ? $var4 : ''; $string = implode('/', [$var1, $var2, $var3, $var4]);
效果示例
当$var3未定义,且$var1="I"、$var2="was"、$var4="here"时,最终$string的值为I/was//here,完全符合需求。
内容的提问来源于stack exchange,提问作者Buggy1987
相关产品推荐
相关产品推荐

