如何检查变量是否为数字 /整数

问题描述 投票:0回答:3
如何检查变量是数字,整数还是浮点?我什么都找不到。在Symfony 3中进行项目3

上次找到了一些东西。一个答案之一:
php types twig symfony
3个回答

12
投票
,您将能够写:

{% if foo is numeric %}...{% endif %}

创建您的扩展课:
namespace MyNamespace;
class MyTwigExtension extends \Twig_Extension
{

    public function getName()
    {
        return 'my_twig_extension';
    }

    public function getTests()
    {
        return [
            new \Twig_Test('numeric', function ($value) { return  is_numeric($value); }),
        ];
    }
}

在您的配置中:
services:
    my_twig_extension:
        autowire: true
        class: AppBundle\MyNamespace\MyTwigExtension
        tags:
            - { name: twig.extension }

请参阅文档:

https://twig.symfony.com/doc/2.x/advanced.html#tests

https://symfony.com/doc/current/templating/twig_extension.html

不能保证这对所有情况都有效,但是在Drupal上下文(Drupal 9/twig 2)中,我可以成功地将一个变量与for循环中的-1进行比较,以区分数字与非数字密钥:

0
投票
{% for i, items %} {% if i > -1 %} ...


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.