的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]}}
答案 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}