在php中打破循环

时间:2015-12-16 06:50:46

标签: php for-loop

我希望使用for loop

这样的输出
name : abc
school : A
year : 2007

name : xyz
school : b
name : 2005

name : pqr
school : c
year : 2003

这个for循环

<?php
            if(count($name) > 1){
                $p = 0;
                for($i=0;$i<count($name); $i++){
                    ?> 
                    <div>name : <?php echo $name[$p];?></div>
                    <?php 
                    $p++;
                }
            }
            ?>  
            <!-- school -->
            <?php
            if(count($school) > 1){
                $g = 0;
                for($i=0;$i<count($school); $i++){
                    ?> 
                    <div>school : <?php echo $school[$g];?></div>
                    <?php 
                    $g++;
                }
            }
            ?>

            <!-- year -->
            <?php
            if(count($year) > 1){
                $y = 0;
                for($i=0;$i<count($year); $i++){
                    ?> 
                    <div>year : <?php echo $year[$y];?></div>
                    <?php 
                    $y++;
                }
            }
            ?>

我如何使用嵌套循环来获得如上所述的输出。 目前因为上面3个不同的循环我就像这样出来了

name : abc
name : xyz
name : pqr
school : A
school : b
school : c
year : 2007
year : 2005
year : 2003 

3 个答案:

答案 0 :(得分:2)

首先,使用循环变量而不是循环和单独的变量!

下面的代码假设所有三个数组都具有相同的长度。

for($i=0;$i<count($name); $i++)
{
    ?> 
    <div>name : <?php echo $name[$i];?></div>
    <div>school : <?php echo $school[$i];?></div>
    <div>year : <?php echo $year[$i];?></div>
    <?php 
}
?>

答案 1 :(得分:0)

for($i=0;$i<count($name); $i++)
{
?> 
<div>name : <?php echo $name[$i];?></div>
<div>school : <?php echo $school[$i];?></div>
<div>year : <?php echo $year[$i];?></div>
<?php 
}
?>

答案 2 :(得分:0)

马蒂亚斯的回答是对的。但是当阵列没有相同的长度时,他没有处理这个案子。为了确保不要从未设置的数组中请求索引,请使用

之类的内容
$minArrayCount = min(count($name), count($school), count($year));
for($i=0;$i<$minArrayCount; $i++) {
     [...]
} ?>