mike
pmcoder
Smarty/Динамический индекс массива
Цель - не создавать вложенных циклов.
Задача:
Есть 2 массива $array1 и $array2. Причем все элементы $array2 есть в $array1. Нужно выделить все элементы $array1,которые встречаются в $array2. Чтобы избежать вложенных циклов на ПХП сделал бы так:
Как в смарти осуществить поиск вхождений? Пробовал такой код - ошибка - синтаксис СМАРТИ не позволяет:
Вообще было сделано вложенным циклом, но массивы большие, тормозит...
Цель - не создавать вложенных циклов.
Задача:
Есть 2 массива $array1 и $array2. Причем все элементы $array2 есть в $array1. Нужно выделить все элементы $array1,которые встречаются в $array2. Чтобы избежать вложенных циклов на ПХП сделал бы так:
PHP:
// Преобразование элементов массива в индексы
foreach($array2 as $key=>$value) $tmp[$value]=1;
$array2 = $tmp;
// Поиск вхождений
foreach($array1 as $key=>$value){
if(isset($array2[$value])){.........}
}
PHP:
{section name=i loop=$array1}
{if isset($array2[$array1[i]]}........{/if}
{/section}