这是一个奇怪的问题,因为它感觉很简单,但是它让我感到困惑。我有一个变量:$customer->PhoneWork
当前为空,返回" "
。在Blade模板中,我只想在它不为空时有条件地渲染它:
@unless (empty($customer->PhoneWork))
Work: {{ $customer->PhoneWork }}
@endunless
问题是,虽然它现在似乎是空的,empty($customer->PhoneWork)
是假的。我还尝试了is_null()
和!isset()
,所有人都遇到了同样的问题。我在这里错过了什么?
答案 0 :(得分:2)
确定变量是否为空
因此,如果变量为empty
,则会返回true
,如果不是,则会返回false
。
因此,您需要trim
该值并反转检查:
@if (!empty(trim($customer->PhoneWork))
此检查现在说:如果$customer->PhoneWork
(已裁剪)不为空
答案 1 :(得分:0)
如果我理解正确,如果字符串包含空字符,则需要执行操作。所以...
函数empty($var)
等于!isset($var) || $var == false
。
您可能需要使用ctype_space($str)
答案 2 :(得分:0)
empty(trim($customer->PhoneWork))
可以解决问题!它检查修剪后的字符串是否为空。