9

我有一个看起来像这样的数组:

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}}

我看不到如何使用$nameand$city来访问数组$my_names

我试过做if($my_names.$name.$city),但它不起作用。

4

2 回答 2

21

这种表示法也可以:

{if 'needle'|array_key_exists:$haystack}
....
{/if}
于 2013-06-13T15:29:32.103 回答
13

您可以使用array_key_exists()函数来检查键是否在数组中。

{if array_key_exists('needle', $haystack)} 
    DoSomethingAboutIt 
{/if}
于 2013-02-06T11:54:15.460 回答