2013-02-07 41 views
0

我的PHP心不是到大我試圖建立的Joomla一個小模塊,此刻我有這樣的代碼:PHP的foreach關聯數據

<?php $a = array(1, 2, 3, 4); ?> 
    <div class="bannercontainer"> 
     <ul> 
<?php foreach($a as $v): ?> 
    <li data-transition="fade" data-startalign="left,bottom" data-zoom="in" data-zoomfact="5" data-endalign="center,top" data-panduration="12" data-colortransition="4"> 
     <img alt="" src="images/slides/image1.jpg" data-thumb="images/thumbs/thumb1.jpg"> 
     <div class="creative_layer"> 
      <div class="clear"></div> 
     </div> 
    </li> 
<?php endforeach; ?> 
     </ul> 
    </div> 
</div> 

基本上在陣列中的foreach號生成一個列表項awith圖像等滑塊..但我怎麼會聯繫其他事情與它,所以它產生,但也取決於在XML文件中的設置它也例如改變<li data-transition="fade" data-startalign="left,bottom" data-zoom="in" data-zoomfact="5" data-endalign="center,top" data-panduration="12" data-colortransition="4"> - 這種縮放效果,也是圖像路徑等

任何幫助非常感謝..謝謝。

回答

1

您需要預先定義這些值並將它們存儲在您使用的數組中。不要直接打印出來。這是更好地存儲輸出,並打印出來結尾:

$a = array(
     array(
      'data-transition' => 'fade', 
      'data-startalign' = > 'left,bottom', 
      ... 
      'data-thumb' => 'images/thumbs/thumb1.jpg' 
     ), 
     array(
      'data-transition' => 'no-fade', 
      'data-startalign' = > 'top,bottom', 
      ... 
      'data-thumb' => 'images/thumbs/thumb2.jpg' 
     ) 
     ... 
    ); 

$output = '<div class="bannercontainer"> 
      <ul>'; 
foreach($a as $v) { 
    $output .= '<li data-transition="'.$v['data-transition'].'" data-startalign="'.$v['data-startalign'].'" data-zoom="in" data-zoomfact="5" data-endalign="center,top" data-panduration="12" data-colortransition="4"> 
     <img alt="" src="'.$v['data-thumb'].'" data-thumb="'.$v['data-thumb'].'"> 
     <div class="creative_layer"> 
      <div class="clear"></div> 
     </div> 
    </li>'; 
} 

$output .= '</ul> 
    </div>'; 

echo $output; 

你正在做的基本上就是現在正在打造的4尺寸的循環,打印出同樣的事情。

3

只是把更多的信息,你傳遞給foreach數組,如:

$banners = array(
    0 => array('color' => 'blue'), 
    1 => array('color' => 'red', 'animation' => 'fade'), 
    2 => array('color' => 'green', 'animation' => 'slide'), 
); 

然後你就可以在你的foreach使用它:

foreach($banners as $banner) { 
    echo $banner['color']; 
} 
0

如果設置保存在。你可以使用$params->get('param_name');從你的模塊的xml文件中獲取xml中的數據。