在php中使用数组块和多个数组的foreach
我对php比较陌生,我整天都在努力让它工作。我有一个多数组,希望以特定的格式和组回送每个数组。 因此,我通过stackoverflow找到了以下帮助:在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]
<? 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也做了同样的事情,我现在使用你们提供的代码:)非常感谢!