Php 如何在Smarty中将值强制转换为整数

Php 如何在Smarty中将值强制转换为整数,php,smarty,Php,Smarty,在Smarty中引用数组中的索引时,我遇到了一点麻烦。我相信这是因为我用作索引的变量是字符串。如何在模板中将此字符串转换为整数 谢谢 我相信这是因为 作为索引使用的变量是 串 我不同意这种观点: $arr = array('a'); $i = '0'; echo $arr[$i]; // echos a 我认为问题出在别处。如果您还有其他问题,应该包括一些代码。显示了许多使用示例,特别是关于访问数组元素的示例 {$foo} <-- displaying a simple v

在Smarty中引用数组中的索引时,我遇到了一点麻烦。我相信这是因为我用作索引的变量是字符串。如何在模板中将此字符串转换为整数

谢谢

我相信这是因为 作为索引使用的变量是 串

我不同意这种观点:

$arr = array('a');
$i = '0';
echo $arr[$i]; // echos a
我认为问题出在别处。如果您还有其他问题,应该包括一些代码。

显示了许多使用示例,特别是关于访问数组元素的示例

{$foo}        <-- displaying a simple variable (non array/object)
{$foo[4]}     <-- display the 5th element of a zero-indexed array
{$foo.bar}    <-- display the "bar" key value of an array, similar to PHP $foo['bar']
{$foo.$bar}   <-- display variable key value of an array, similar to PHP $foo[$bar]
{$foo[bar]}   <-- syntax only valid in a section loop, see {section}

{$foo}如果已将其分配给变量,例如$var,则可以如下设置变量的类型:

{$converted = settype ($var, 'integer')}

您不必使用$converted值,但如果不赋值,bool将显示在您的页面中。

如果我正确理解问题,{$variable | intval}

因为我不允许评论(doh),我只会说@webbiedave代码在php中是正确的,但在smarty中不起作用。我花了太多时间试图弄明白为什么我不能从模板中的数组访问数据,我发现我有一个带有整数键的数组,我在smarty中用于键的参数是字符串,所以它没有按预期工作。我是这样解决的:

<!--{debug says}
    {$item}=> Array (2)      
      name=> "lalala"
      id => "123"
      ...

    {$arrays} => Array (7)
       123=> Array (3)
          other_part_i_care=> "bebebe"
          ...
-->
{$arrays[$item.id].other_part_i_care}  <!--this doesnt return anything-->

{assign var='item_id' value=$item.id}  <!--my guess here it gets interpreted as int -->
{$arrays[$item_id].other_part_i_care}  <!--this return expected outcome-->

{$arrays[$item.id]。其他部分{i}
{assign var='item_id'value=$item.id}
{$arrays[$item\u id]。其他\u part\u i\u care}

。。。认真地Smarty完成了所有从PHP中提取演示文稿的工作之后,您现在想要将逻辑转储到其中?!我在寻找答案,而不是巨魔。谢谢。你能展示一些示例代码吗?要准确理解你想做的事情有点困难,就是这样。因为您可以使用任何php函数,所以也可以使用intval。(虽然我必须承认我首先想到了如何在smarty中使用(int)$s)@ZsoltSzilagy,但这比
(int)$var
好吗?若然,原因为何?