我有三个可能包含或不包含数据的变量。
让我们称他们为$ name,$ address和$ telephone。
假设我想将它们全部合并为一个var,$ contact,每个都在一个单独的行上。
$contact = $name.'<br />'.$address.'<br />'.$telephone;
$contact
然后被放入数组中。该数组最终通过foreach循环,不处理任何等于''
的变量。除了两个<br />
标签之外,如何判断字符串是否为空?我已经尝试将$ contact复制到$ test_contact并运行str_replace('<br />', '', $test_contact;
,但即使所有vars都设置为''
$test_contact == ''
仍然评估为false。我在trim()
之后也尝试了str_replace()
,但这看起来也没有用。我也尝试过使用===
但是再一次,没有运气。
我错过了什么?有更好的方法吗?
马克
答案 0 :(得分:2)
走str_replace
路线绝对可行:
if(trim(str_replace('<br />', '', $test_contact)) == '') {
echo 'empty';
}
但是为什么不在将它插入阵列之前检查呢?
if(strlen($name) + strlen($address) + strlen($telephone) == 0) {
// don't insert
}
答案 1 :(得分:1)
if(strlen(str_replace("<br />", "", $test_contact)) === 0) {
//empty
}
答案 2 :(得分:0)
在插入之前检查:
if ($name.$address.$telephone == '')
然后是空的