У меня есть 2 массива для цикла, один держит $int
и другие $string
, Я хочу вернуть оба $int
а также $string
но когда я вкладываю циклы в мой файл TPL, он только возвращает $int
,
Код:
{foreach from=$array.subarray1 item="int"}
{foreach from=$array.subarray2 item="string"}
{$string}: {$int}
{/foreach}
{/foreach}
Я посмотрел на смарт-документацию и вижу один случай вложенного цикла но когда я применяю его к своему коду, он не работает — это может быть ошибка пользователя, хотя я не уверен, так как мой опыт работы с tpl ограничен.
Дополнительный вопрос для моего назидания: я могу заставить его работать на PHP, а не на smarty; я должен даже пытаться сделать это в Smarty или позволить PHP сделать это?
То, что вы пытаетесь сделать из своего описания, не очень понятно, но похоже, что у вас есть два перечислимых массива, где один имеет желаемый ключ, а другой — желаемое значение. Если это то, что вам нужно, вам не нужен вложенный цикл. Необходимо убедиться, что ключи для обоих массивов соответствуют одному и тому же элементу, а затем выполнить один цикл, используя один и тот же ключ для обоих массивов для доступа к правильному результату.
{foreach from=$array.subarray1 item="int" key="key"}
{$array.subarray2[$key]}: {$int}
{/foreach}
Других решений пока нет …