Twig - How to check if variable is a number / integer Twig - How to check if variable is a number / integer symfony symfony

Twig - How to check if variable is a number / integer


At last found something. One of the answers from:https://craftcms.stackexchange.com/questions/932/how-to-check-variable-type

{# Match integer #}{% if var matches '/^\\d+$/' %}{% endif %}{# Match floating point number #}{% if var matches '/^[-+]?[0-9]*\\.?[0-9]+$/' %}{% endif %}


You can create a twig extension to add a test "numeric"

With that, you'll be able to write :

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

Create your extension class :

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); }),        ];    }}

And in your configuration :

services:    my_twig_extension:        autowire: true        class: AppBundle\MyNamespace\MyTwigExtension        tags:            - { name: twig.extension }

See documentation :

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

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