[смарти] как использовать переменную в качестве индекса массива?

IvladV71

как использовать переменную в качестве индекса массива?
в идеале хотелось бы получить чё нить типа


$a[$b[i]]


пробую

{$a[$b[i]]}


так не получаеццо
подскажите решение

korol41

а если попробовать так:

$a[{$b[i]}]

получится?

dedwowan

не получится, если $a это смартевская переменная
вообще такую выборку логичнее на уровне РНР сделать, а не смарти.

avinir60

Вообще-то в смарти массивы записываются не $a[1][3], а $a.1.3
Поэтому, стоит попробовать такой вариант: $a.$b.$c

sergei1969

сделать это в шаблоне можно разве что через {php} {/php}

puare

а что,

{assign}

уже отменили?
логично так сделать ИМХО:


{section name=i loop=$b}
{assign var="j" value=$b[i]}
{$a[j]}
{/section}


разберись там тока с тем, где надо `$` ставить, где не надо...
очень рекомендую для понимания читать, что оно пишет в templates_c

sergei1969

да, пожалуй прогнал
придумал ещё способы, но извратные в основном

IvladV71

спасибо
правильным оказался код


{section name=i loop=$b}
{assign var="j" value=$b[i]}
{$a[$j]}
{/section}

Оставить комментарий
Имя или ник:
Комментарий: