【问题标题】:foreach with array_chunk in php and with multiple arraysforeach 在 php 中使用 array_chunk 并使用多个数组
【发布时间】:2012-09-09 00:23:43
【问题描述】:

我对 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,它将成为其他 div 的主人......并使用我在另一个问题上读过的内爆,但没有回应我想要的字符串......

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

【问题讨论】:

  • 对不起朋友,但我无法理解你的问题......这是我的错误......如果你详细说明,那么我会尽可能地帮助你。

标签: php arrays foreach implode


【解决方案1】:

这行:

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

应该是这样的:

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

应该做你想做的。

【讨论】:

    【解决方案2】:
    <?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> 
    <? }; ?>
    

    【讨论】:

    • 感谢欧根!这很完美! ;) knittl 做了同样的事情,我现在正在使用你们提供的这段代码 :) 非常感谢!
    【解决方案3】:

    为什么不使用循环遍历$curta

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

    【讨论】:

      【解决方案4】:

      但数组的最后一项没有填满 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。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        • 1970-01-01
        • 2014-07-21
        • 2019-07-22
        • 2018-06-13
        • 1970-01-01
        相关资源
        最近更新 更多