【问题标题】:Twig check if there are any values in the arrayTwig 检查数组中是否有任何值
【发布时间】:2015-12-09 09:56:08
【问题描述】:

如何检查是否向数组提供了任何值。在 PHP 中,我像这样添加到数组中:

$myArray['index1'] = $someVal1;
$myArray['index2'] = $someVal2;

问题是,当我在 Twig 中使用 |length 过滤器时,它会在 $someVal1 或 $someVal2 没有值时给出结果(这些值取自表单,因此不必填写)。所以我想检查整个数组中是否没有提供值,所以:

{% if myArray|what_filter_here? == 0|empty|whatever %} This text should not appear {% endif %}

可以在一个条件下完成吗?

【问题讨论】:

    标签: php symfony twig


    【解决方案1】:

    类似:

    {% if myArray|length > 0 %}
        This text should not appear 
    {% endif %}
    

    【讨论】:

    • 这应该是正确的答案。这也是 Symfony 制造商在他们的框架代码中使用的。
    • @cezar 为什么你认为is empty 不是正确答案?
    • @simPod 我没有明确表示is empty 不是正确答案。对于这个答案,我已经给出了解释,我认为最好遵循框架创建者使用的约定。虽然我同意is empty 是人类可读且更冗长的。
    • @cezar 怎么样?无论值是否为空,数组计数是否仍然相同?
    【解决方案2】:

    试试empty -

    {% if myArray is empty %} ... {% endif %}
    

    【讨论】:

    • 这是一个更好的答案,因为长度取决于传递的实现可数接口的对象,因此上述似乎更健壮。
    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    相关资源
    最近更新 更多