我知道这真的是微不足道的,不是那么重要,但它可以挽救我的生命......
你知道你可以在 PHP 中的 if 块中声明变量
if( $row = $sql->fetch ){
//do something with the $row if $row = null this part is skipped
}
例如在 Twig 中我不能做(设置图像 = object.image,如果我的对象没有图像,则变量图像变为空并且 if 语句不会变为真
{% if image = object.image %}
<img src="{{ image.getUrl() }}"> //and so on
{% endif %}
相反,我必须这样做(检查对象是否有图像,如果有,将其保存到新变量并用它做一些事情)
{% if object.image %}
{% set image = object.image %}
<img src="{{ image.getUrl() }}"> //and so on
{% endif %}
当然,我知道这不是第一世界的问题,你可能认为我的问题没有用,但我必须每天多次写这些“更长”的陈述,这样我最终可以快几分钟。
那么是否有一种语法允许我在 if 块中设置变量而不是比较它们?
非常感谢
编辑
我不一样Can I define a variable in a PHP if condition?就在 Twig 上
最佳答案
不,无法在 if
中声明变量标签。变量只能使用 set
设置标签。
关于Symfony/Twig 在 if 条件下设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42782059/