Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中使用数组块和多个数组的foreach_Php_Arrays_Foreach_Implode - Fatal编程技术网

在php中使用数组块和多个数组的foreach

在php中使用数组块和多个数组的foreach,php,arrays,foreach,implode,Php,Arrays,Foreach,Implode,我对php比较陌生,我整天都在努力让它工作。我有一个多数组,希望以特定的格式和组回送每个数组。 因此,我通过stackoverflow找到了以下帮助: <? foreach(array_chunk($projetos, 6) as $curta ) { ?> <li style='display:block'> <div class="film"> <?php echo $curta[0]

我对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 class="film"> <?php echo $curta[0]['titulo']; ?></div>
    
    
    
    应该是这样的:

    <div class="film"> <?php echo $curta[0]['ugm']['titulo']; ?></div>
    
    
    
    这应该是你想要的。

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

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

    <? foreach(array_chunk($projetos, 6) as $curta ) { ?>
      <li style='display:block'>
        <? foreach($curta as $c) { ?>
          <div class="film"><? echo $c['titulo']; ?></div>
        <? } ?>
      </li> 
    <? }; ?>
    
    
    
  • 但是数组的最后一项不能填充到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。

    对不起,朋友们,我无法理解您的问题……这是我的错误……如果您详细说明,我将尽可能帮助您。谢谢eugen!这很有效!;)knittl也做了同样的事情,我现在使用你们提供的代码:)非常感谢!