gpt4 book ai didi

php - isset() 和 !empty() 的 Twig 等价物是什么?

转载 作者:可可西里 更新时间:2023-11-01 12:52:06 27 4
gpt4 key购买 nike

以下 PHP 三元条件的 Twig 等价物是什么?

<?php echo (isset($myVar) && !empty($myVar)) ? $myVar : '#button-cart'; ?>

我很不光彩地尝试过这个,但它看起来不太好,当然,它不起作用:

{{ myVar is defined and myVar not empty ? myVar : '#button-cart' }}

最佳答案

参见 Tests对于所有测试。要使用测试,请使用 variable is test。您在“空”测试中缺少"is"。感谢@DarkBee 指出了这个小错误。

但要回答您最初的问题,请查看 Twig/Extension/Core.php .该类(class)展示了每个 Twig 测试如何“在幕后”工作。

这是一个包含所有测试及其 PHP 等效项的小表:

| 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 === ''
  • 如果是其他东西(例如字符串、 float 或整数):'' === $value ||假 === $值 ||空 === $值 || array() === $值

关于php - isset() 和 !empty() 的 Twig 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47436858/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com