Php Laravel 5.4/Blade未显示带空格的空字符串变量&引用;
这是一个奇怪的问题,因为它感觉很简单,但唉,它让我卡住了。我有一个变量:Php Laravel 5.4/Blade未显示带空格的空字符串变量&引用;,php,laravel,laravel-blade,Php,Laravel,Laravel Blade,这是一个奇怪的问题,因为它感觉很简单,但唉,它让我卡住了。我有一个变量:$customer->PhoneWork,当前为空,返回“”。在Blade模板中,我希望仅当它不为空时才有条件地渲染它: @unless (empty($customer->PhoneWork)) Work: {{ $customer->PhoneWork }} @endunless 问题是,尽管它现在看起来是空的,empty($customer->PhoneWork)是假的。我还尝
$customer->PhoneWork
,当前为空,返回“”
。在Blade模板中,我希望仅当它不为空时才有条件地渲染它:
@unless (empty($customer->PhoneWork))
Work: {{ $customer->PhoneWork }}
@endunless
问题是,尽管它现在看起来是空的,empty($customer->PhoneWork)
是假的。我还尝试了is\u null()
和!isset()
和所有人都遇到相同的问题。我错过了什么 根据:
确定变量是否为空
因此,如果变量为空
它将返回真
,如果不是,它将返回假
因此,您需要更改该值并反转检查:
@if (!empty(trim($customer->PhoneWork))
此检查现在显示:如果
$customer->PhoneWork
(已修剪)不是空的如果我理解正确,则需要在字符串包含空字符时执行操作。所以
函数为空($var)
等于!isset($var)|$var==false
您可能需要使用
ctype\u space($str)
empty(trim($customer->PhoneWork))
来完成这个任务!它检查修剪后的字符串是否为空。如果值中有空格,则它不是空的。这仍然返回false。有ctype_space()
,但我不应该总是依赖于它是一个空白问题。该值当前是一个带有一个空格的字符串:“”的逻辑!空(trim($customer->PhoneWork))
是有意义的,但是它在刀片模板中没有正确执行。当当前的目标是确定@except
的值为真时,它仍然返回false。如果继续使用except,则需要删除代码>(不是)。是的<代码>!empty(trim($customer->PhoneHome))
返回true,当前有一个电话号码字符串。然后它就不显示了,但是当然!它只需要为空(trim($customer->PhoneWork))
。然后检查trim($customer->PhoneWork)
是否为空。确实如此。OP提到他们不想依赖ctype\u space
。