2012-09-16 22 views
5

Php için nispeten yeni ve bu işe başlamak için gün boyu çalışıyorum. Birden çok dizim var ve her birini belirli bir biçimde ve gruplar halinde yankılamak istiyorum. Yani ben stackoverflow geçirdi ve bu yardımı buldum:php dizisinde array_chunk ve çoklu dizilerle foreach

<? foreach(array_chunk($projetos, 6) as $curta) { ?> 


     <li style='display:block'> 


        <div class="film"> <?php echo $curta[0]['titulo']; ?></div> 
        <div class="film"> <?php echo $curta[1]['titulo']; ?></div> 
        <div class="film"> <?php echo $curta[2]['titulo']; ?></div> 
        <div class="film"> <?php echo $curta[3]['titulo']; ?></div> 
        <div class="film"> <?php echo $curta[4]['titulo']; ?></div> 
        <div class="film"> <?php echo $curta[5]['titulo']; ?></div> 


      </li> 

     <? }; ?> 

Ve bu istediğim ama dizinin son ürün 6'ya kadar doldurmak doesnt neyi döner ve 2 ekstra boş div'ler yaratır ve tasarım karıştıran biridir.

Bu dizinin tek bir örnektir i var:

<?php 
$projetos = array ( 

      "ugm" => array (
        "id" => "ugm", 
        "titulo" => "Una Guerra Más", 
        "video" => "imagem", 
        "videoid" => "", 
        "height" => "$video_height_wide", 
        "sinopse" => "Um soldado moribundo deseja enviar sua última carta. Curta indisponível por exibição em festivais. Feito em parceria com a Universidad del Cine e LightBox Studios.", 
        "elenco" => "Ignacio J. Durruty - Rodrigo Soler - Ulisses Levanavicius - Aron Matschulat Aguiar", 
        "idioma" => "Inglês - Português", 
        "camera" => "Sony EX1", 
        "formato" => "HD", 
        "duracao" => "9'55''", 
        "ano" => "2012", 
        "tipo" => "Curta", 
        "credito" => "Direção - Edição - Produção - Roteiro", 
           ), (...) 

diğerleri için ana olacak sadece bir div ... düzenleyebilmek istiyorum ve ettik çöktüğünü kullanarak Başka bir soru üzerinde okumak ama istediğim dizeleri yankılamak için işe yaramadı ..

Birisi yardım ister misiniz? şimdiden teşekkürler!

+0

üzgünüm arkadaşlar, ama sorununuzu anlayamıyorum ... bu benim hatam ... detaylandırırsanız o zaman size mümkün olduğunca yardımcı olacağım. – Rajnish

cevap

10
<?php foreach(array_chunk($projetos, 6) as $curta) { ?> 
    <li style='display:block'> 
     <?php foreach($curta as $detail) { ?> 
       <div class="film"> <?php echo $detail['titulo']; ?></div> 
     <?php } ?> 
    </li> 
<? }; ?> 
+0

teşekkürler eugen! Bu mükemmel çalıştı! ;) knittl aynı şeyi yaptı ve bu kodu kullanarak im imdi u çocuklar sağladı :) çok teşekkürler! – Aron

0

Bu satırlar:

<div class="film"> <?php echo $curta[0]['titulo']; ?></div> 

böyle olmalı: istediğini yapmalıyım

<div class="film"> <?php echo $curta[0]['ugm']['titulo']; ?></div> 

.

0

Neden $curta üzerinden yinelemek için bir döngü kullanmıyorsunuz?

<? foreach(array_chunk($projetos, 6) as $curta) { ?> 
    <li style='display:block'> 
    <? foreach($curta as $c) { ?> 
     <div class="film"><? echo $c['titulo']; ?></div> 
    <? } ?> 
    </li> 
<? }; ?> 
+0

teşekkürler knittl! Bu mükemmel çalıştı;) – Aron

0

ancak dizinin son ürün bu gibi

kadar doldurmak doesnt çoğu zaman, her öbek 6 unsurlar içerdiğini kabul edemeyiz ne olacak Bu nedenle, şu satırın üzerinde yineleme yapmanız gerekir:

Bu şekilde boş boşluklar göstermediğinizden emin olabilirsiniz.