我有一个如下所示的数组:
array(
'name1' => array('city1', 'city2', 'city3'),
'name2' => array('city1', 'city4'),
'namen' => array('city1', 'city7', 'cityn')
);
哪个传递给smarty:$my_names
我的Smarty模板中有一个循环,如下所示:
{{foreach from=$names item=name}}
{{foreach from=$cities item=city}}
//Check if name1 exist and after check if the city is in the array for that name
{{/foreach}}
{{/foreach}}
我无法看到如何使用$name
和$city
访问数组$my_names
我尝试过if($my_names.$name.$city)
,但它无法正常工作。
答案 0 :(得分:15)
这种表示法也适用:
{if 'needle'|array_key_exists:$haystack}
....
{/if}
答案 1 :(得分:8)
您可以使用 array_key_exists()函数检查密钥是否在数组中。
{if array_key_exists('needle', $haystack)}
DoSomethingAboutIt
{/if}