9

私は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を作成し、デザインを台無しにします.

これは、私が持っている配列の 1 つの例です。

<?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 を 1 つだけ編集できるようにしたいのですが、別の質問で読んだ implode を使用していますが、必要な文字列をエコーするためには機能しませんでした..

誰か助けてくれませんか?前もって感謝します!

4

4 に答える 4

26
<?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> 
<? }; ?>
于 2012-09-16T15:39:05.450 に答える
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> 
<? }; ?>
于 2012-09-16T15:41:29.747 に答える
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 が表示されなくなります。

于 2012-09-16T15:42:32.757 に答える
-1

この行:

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

次のようになります。

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

それはあなたが望むことをするはずです。

于 2012-09-16T15:38:18.330 に答える