foreach with php中的array_chunk和多个数组

时间:2012-09-16 15:33:21

标签: php arrays foreach implode

我对php比较陌生,我一整天都在努力让这个工作起来。我有一个多个数组,并希望以特定格式和组中回显每个数组。 所以我经历了stackoverflow并找到了这个帮助:

<? 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> 

      <? }; ?>

这会返回我想要的内容,但是数组的最后几项不会填充到6并且会创建2个额外的空div并且会弄乱设计。

这是我拥有的数组的一个例子:

<?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",
                                 ), (...)

我希望能够只编辑一个将成为其他人的主人的div ...并且使用我在其他问题上阅读的内爆但是没有用来回应我想要的字符串..

请有人帮忙吗? 提前谢谢!

4 个答案:

答案 0 :(得分:16)

<?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> 
<? }; ?>

答案 1 :(得分:0)

这一行:

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

应该是这样的:

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

应该做你想做的事。

答案 2 :(得分:0)

为什么不使用循环迭代$curta

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

答案 3 :(得分:0)

  

但是数组的最后几项最多不能填充6

由于大部分时间都会发生这种情况,所以你不能假设每个块都有6个元素,所以你必须迭代这个块:

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

<li style='display:block'>

<? foreach($curta as $c) { ?>       
    <div class="film"> <?php echo $c['ugm']['titulo']; ?></div>
<? }; ?>

</li> 

<? }; ?>

这样你肯定不会显示空div。