2010-02-06 6 views
0
Array 
(
    [0] => Array 
     (
      [0] => SimpleXMLElement Object 
       (
        [0] => Pop music 
       ) 

      [1] => SimpleXMLElement Object 
       (
        [0] => Rock music 
       ) 

      [2] => SimpleXMLElement Object 
       (
        [0] => Music edition 
       ) 

     ) 

    [1] => Array 
     (
      [3] => SimpleXMLElement Object 
       (
        [0] => Pop music 
       ) 

      [4] => SimpleXMLElement Object 
       (
        [0] => Rock music 
       ) 

      [5] => SimpleXMLElement Object 
       (
        [0] => Opera music 
       ) 

     ) 

    [2] => Array 
     (
      [6] => SimpleXMLElement Object 
       (
        [0] => Advs music 
       ) 

      [7] => SimpleXMLElement Object 
       (
        [0] => Rington 
       ) 

      [8] => SimpleXMLElement Object 
       (
        [0] => Game 
       ) 
     ) 

) 

У меня есть массив, как указано выше, но я не знаю, как его зацикливать с помощью foreach или секции в smarty. Кто-нибудь может дать мне руку для этого? Я провожу день напролет, поэтому, пожалуйста, дайте мне некоторое представление. В любом случае, спасибо!!раздел с гнездом в smarty

ответ

0

Вы можете сделать вложенные операторы Foreach

foreach($array as $childArray) 
{ 
    foreach($childArray as $obj) 
    { 
     echo $obj->0; 
    } 
} 

Хотя я не уверен, что переменные правильно названы, если у них есть ряд на первый символ, так что вам может понадобиться для доступа к нему с помощью кронштейнов

$obj->{0}; 
+0

Спасибо chacha102 так много, но я пишу это в Smarty не PHP, так что ваш код не может работать! – gacon

+0

Тогда почему вы отметили свой вопрос как «PHP»? –

+0

ah Я забыл об этом, я просто думаю, что он принадлежит smarty и PHP, возможно, заставило вас так думать. Мне жаль, мужчина! – gacon

0
{foreach from=$menu key=k item=v name=menu} 
    {if $smarty.foreach.menu.index == 0} 
     VietMusic 
    {/if} 
    {if $smarty.foreach.menu.index == 1} 
     ForeignMusic 
    {/if} 
    {if $smarty.foreach.menu.index == 2} 
     SpecialMusic 
    {/if} 
     {foreach from=$v item=submenu} 
      {$submenu} 
     {/foreach} 
    {/foreach} 

Я пишу свой массив таким образом, но не оптимизирован. Кто-нибудь дает еще одну идею для этого?

Наконец-то я могу сделать это так,

{foreach from=$menu key=k item=v name=menu} 
    {foreach from=$v item=submenu name=sub} 
     {if $smarty.foreach.sub.first} 
      {$submenu} 
     {else} 
      {$submenu} 
     {/if} 
    {/foreach} 
{/foreach} 
Смежные вопросы