smarty php in_array无法正常工作

时间:2014-10-16 19:35:20

标签: smarty smarty3

的Smarty-3.1.20

重写php webapp后端。使用Smarty,因为它需要几年前,工作,为什么不,但现在它正在破坏我的头。嵌套模板输出复选框。

如果我将其中一个值粘贴为字符串,那么为什么in_array会返回true,但如果我将其作为变量引用则不会?数组是var_dump-ed并且是数组,{$ otherArray [0]}返回正确的变量。 $ anArray [loop]正在打印正确的变量。数组字符串中没有多余的空格。在我全力以赴之前阻止我,将json粘贴到html的底部并使用javascript完成所有操作(下次肯定)

TL; DR:

in_array不是从变量返回true而是来自字符串?

<input type='checkbox' name='{$anArray[loop]}' value='{$anArray[loop]}' 
{if in_array($anArray[loop]}, $otherArray)} checked{/if}>
<br />
{$anArray[loop]}}

2 个答案:

答案 0 :(得分:0)

好吧,你似乎没有在这里正确使用$签名,它可能应该是:

<input type='checkbox' name='{$anArray[$loop]}' value='{$anArray[$loop]}' 
{if in_array($anArray[$loop]}, $otherArray)} checked{/if}>
<br />
{$anArray[$loop]}}

答案 1 :(得分:0)

尝试:

{if $anArray.$loop|in_array:$otherArray}checked{/if}