What is the Twig equivalent of isset() and !empty()?(isset() 和 !empty() 的 Twig 等价物是什么?)
问题描述
以下 PHP 三元条件的 Twig 等价物是什么?
What is the Twig equivalent of the below PHP ternary condition?
<?php echo (isset($myVar) && !empty($myVar)) ? $myVar : '#button-cart'; ?>
我已经不光彩地尝试了这个,但它看起来不太好,当然,它不起作用:
I have ingloriously tried this but it doesn't look good and of course, it doesn't work:
{{ myVar is defined and myVar not empty ? myVar : '#button-cart' }}
推荐答案
参见 Tests 用于所有测试.要使用测试,请使用 variable is test
.您在空"测试中缺少是".感谢@DarkBee 指出了这个小错误.
See Tests for all tests. To use a test, use variable is test
. You're missing 'is' in your 'empty' test. Credits to @DarkBee for pointing out that little mistake.
但要回答您最初的问题,请查看 Twig/Extension/Core.php.该类显示了每个 Twig 测试在后台"是如何工作的.
But to answer your initial question, take a look at Twig/Extension/Core.php.That class shows how every Twig test works 'under the hood'.
这是一个包含所有测试及其 PHP 等效项的小表格:
Here is a small table with all tests and their PHP equivalent:
| Twig test | PHP method used |
|--------------|---------------------------------------------------|
| constant | constant |
| defined | defined |
| divisible by | % |
| empty | twig_test_empty |
| even | % 2 == 0 |
| iterable | $value instanceof Traversable || is_array($value) |
| null | null === |
| odd | % 2 == 1 |
| same as | === |
twig_test_empty
检查:
- 如果是数组:
count(array) === 0
或 - 如果是对象:
Object::__toString === ''
或 - 如果是其他内容(例如字符串、浮点数或整数):
'' === $value ||错误 === $价值 ||空 === $值 ||array() === $value
这篇关于isset() 和 !empty() 的 Twig 等价物是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:isset() 和 !empty() 的 Twig 等价物是什么?
基础教程推荐
- 在多维数组中查找最大值 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01