Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Phalcon的.volt中将变量转换为int?_Php_Variables_Int_Phalcon_Volt - Fatal编程技术网

Php 如何在Phalcon的.volt中将变量转换为int?

Php 如何在Phalcon的.volt中将变量转换为int?,php,variables,int,phalcon,volt,Php,Variables,Int,Phalcon,Volt,我在.volt Phalcon中有此代码: {% set foo = myFunction(data, 'data_source', 0) %} 它返回非负数,问题是当它为空时,我得到的不是0。如何强制volt始终以foo的形式返回int,这样一切都能按预期工作,但不会抛出空变量错误 我宁愿避免使用 我一直在找,运气不好 谢谢。有两个选项可供选择: 1创建自己的电压功能: $compiler->addFilter( 'int', function ($resolvedAr

我在.volt Phalcon中有此代码:

{% set foo = myFunction(data, 'data_source', 0) %}
它返回非负数,问题是当它为空时,我得到的不是0。如何强制volt始终以foo的形式返回int,这样一切都能按预期工作,但不会抛出空变量错误

我宁愿避免使用

我一直在找,运气不好


谢谢。

有两个选项可供选择:

1创建自己的电压功能:

$compiler->addFilter(
    'int',
    function ($resolvedArgs, $exprArgs) {
        return 'intval(' . $resolvedArgs . ')';
    }
);
更多信息请点击此处:

2使用volt的内置过滤器。在您的情况下,如果没有返回值,您可以使用默认fitler将默认值设置为0。以下是内置函数的完整列表:


当然,其他选项是修改函数以始终返回值,或者在volt中使用PHP语法,这有点难看:

…还有另一种方法:volt使用name格式实现了PHP函数。所以,你可以这样做:

{% set foo = myFunction(data, 'data_source', 0) %}

The int of "foo" is: {{ "%d"|format(foo) }}
祝你好运