以下代码的刀片式语法是什么?
<?php if(...):?>abc<?php else:?>cde<?php endif;?>
代码 @if(...)abc @else ....不好,因为它在“ abc”代码之前和之后添加空格@if(...)abc @ endif(html字符串前后没有空格)产生错误...
谢谢
答案 0 :(得分:2)
进行了更多研究,而且由于刀片中没有空格标签,因此似乎没有解决方案。我从某人那里找到了一个解决方案,该人将他的字符串包装在额外的hml标签中(这样很容易,因为他在标签前后放置空格,并且在标签si中使用无空格的字符串),但在我的情况下,我只需要一个字符串,前后都没有空格...我将采用旧的php方式...
答案 1 :(得分:0)
尝试一下:
@if(...) {{ 'abc' }} @else
答案 2 :(得分:0)
我在空格中遇到了类似的问题。
我使用的解决方法是:
将您的if语句放入php标记
@php
$myVar = 'abc';
if(...) $myVar = 'cde';
@endphp
然后回显定义的变量
{{$myVar}}
答案 3 :(得分:0)
解决方案
此问题的正确解决方案如下:
@if(1==1){{ '1' }}@endif
这种情况经常发生,并且会给代码的“空间敏感”部分(例如<option>
标记中的值)带来问题。
将@if(1==1) 1 @endif
编译为以下代码,该代码显示数字周围的空白:
<?php if(1==1): ?> 1 <?php endif; ?>
解决方案代码将被编译为此代码:
<?php if(1==1): ?><?php echo e('1'); ?><?php endif; ?>
其中大部分解释了为什么它不会留出额外的空格。
答案 4 :(得分:0)
这是一种解决方法,但我仍然认为我们始终应该记住这是一个PHP环境... 因此,只需:
@php
if(...) echo "abc";
else echo "cde";
@endphp
答案 5 :(得分:-1)
正确的语法是:
@if(...)
abc
@else
cde
@endif
我从未见过这个多余的空间。