Нужно выбрать элемент многомерного массива в смарти с переменным id

APMATyPA

Новичок
Присоединяюсь к проблеме. Как вывести данные из ассоциативного массива, по ключу, получаемого из другого ассоциативного массива?

Вот такой шаблон:

{section name=rows loop=$lang_arr}
{$lang_arr[rows].name}
{$name[$lang_arr[rows].abbr]}
{/section}

Данные из {debug}:

{$lang_arr} Array (2)
0 => Array (3)
id => 1
abbr => RUS
name => Русский
1 => Array (3)
id => 2
abbr => ENG
name => English
{$name} Array (2)
RUS => sadasd s
ENG => asd
{$text_full} Array (2)
RUS => as d
ENG => asd fsa asf
{$text_small} Array (2)
RUS => as d
ENG => empty


Выводит ошибку.

-~{}~ 12.03.07 05:06:

Имеется в виду, без использования assign
 

WP

^_^
:) Не смартём единым.

-~{}~ 16.03.07 14:16:

flasher007
assign - [вырезано цензурой] на производительность.

> $name['$lang_arr[rows].abbr']} или {$name[`$lang_arr[rows].abbr`]} попробуй.
Попробуй вначале сам :)
 

APMATyPA

Новичок
И к чему последняя ссылка? Там нет решения моей проблемы. Ну а насчет assign, то просто как-то не красиво... Должно же быть какое-то "прямое" решение, без использования дополнительной переменной.
 

APMATyPA

Новичок
WP
Ну а при чем тут foreach?

{section name=rows loop=$lang_arr}
{$lang_arr[rows].name}
{$name[$lang_arr[rows].abbr]}
{/section}

и надо как-то достучаться к элементу массива $name по ключу $lang_arr[rows].abbr как это сделать?

Не имеет разницы в section или в foreach/
 

WP

^_^
PHP:
$smarty->assign("lang_arr", array(
0 => array('id' => 1,'abbr'=> 'RUS','name' => 'Русский'),
1 => array('id' => 2,'abbr'=> 'RUS','name' => 'English'),
));
$smarty->assign("name", array(
'RUS' => 'as d',
'ENG' => 'empty'
));
{foreach from=$lang_arr item='item'}
{$item.name} - {$item.abbr} - {$name[$item.abbr]}<br />
{/foreach}
Русский - RUS - as d
English - RUS - as d
А Quicky на твой код не заругался ;)
Русский as d English as d
 

APMATyPA

Новичок
Не знаю, честно говоря, то за quickly, но я так понял, что в предыдущем посте ты думал, что это ответ... Нет, это именно сущность проблемы. Смотри первый пост. НУ а в нем и структура данных показана.
 

APMATyPA

Новичок
Сорри, что-то проглядел 3 строчки твоего сообщения... Самых главных:) попробую... Отпишусь потом.

-~{}~ 17.03.07 23:48:

Покурил foreach.... что-то похожее.... Попробую на практике, спасибо за направление, но а как быть в случае section ?
 
Сверху