作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
这怎么可能?这似乎是一个非常奇怪的问题(除非我遗漏了一些非常简单的东西):
代码:
{{ dump(nav) }}
{% if nav == "top" %}
<div class="well">This would be the nav</div>
{% endif %}
输出:
boolean true
<div class="well">This would be the nav</div>
基本上,如果为真则输出,但并不意味着检查是否为真。
最佳答案
这很容易复制:
{% set nav = true %}
{% if nav == "top" %}
ok
{% endif %}
显示ok
。
根据documentation :
Twig allows expressions everywhere. These work very similar to regular PHP and even if you're not working with PHP you should feel comfortable with it.
如果您在纯 PHP 中测试以下表达式:
$var = true;
if ($var == "top") {
echo 'ok';
}
也会显示ok的。
重点是:你不应该比较不同类型的变量。在这里,您将 bool 与字符串进行比较:如果您的字符串不为空或不只包含零,它将评估为 true。
您也可以查看PHP manual看看如何与不同类型进行比较。
您可以使用 sameas测试进行严格的比较,避免类型杂耍。
关于php - 字符串比较运算符如何在 Twig 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16199284/
我是一名优秀的程序员,十分优秀!