<? if(is_array($a)) foreach($a AS $b=>$c) ?> 这个的循环次数是哪个变量,,if($b % 5==0) echo "<br />";这样实现每输出5个就换行,,,对不对哦??

解决方案 »

  1.   

    <?php
    if(is_array($a)) {
        foreach($a as $b => $c) {
            
        }
    }
    ?>
    这个循环的次数是数组$a里元素的个数,
    如果$a数组的键名即$b没有特别指定的话应该是从0开始及 0,1,2,3,4,5
    如果要实现你要的效果的话   if(($b+1) % 5 == 0)
      

  2.   

    $b代表$a的索引.如果数组a是数字索引的话,
    改成
    if(($b+1) % 5 == 0) echo "<br/>";
      

  3.   

    循环次数是 $b+1 次   if(($b+1)%5==0)
      

  4.   

    for($i=0;$<count($a);$i++){
        if (0 == $i%5) echo $a[$i] ;
    }
      

  5.   

    <? if(is_array($a)) foreach($a AS $b=>$c) ?> 
    如果写成<? if(is_array($a)) foreach($a AS $key=>$value) ?> 
    是不是更容易看明白点?其实他是遍历的$a
    也可以直接写成<?php foreach((array)$a AS $key=>$value)?>为了防止出现错误
    先将$a类型转化为数组类型,这样就可以安全的 使用foreach遍历了if($b % 5==0) echo " <br />"; 的意思是:只要$b能被5整除就输出一个<br/>
    如果写成
    <?php
       if(is_array($a)){
           foreach($a as $b=>$c){
               if($b%5==0){
                   echo '<br/>';
               }
           }
       }?>
    每5个输出一个<br/>前提是:$a 的index是数值类型的,如果$a 的index为 字符(串)类型的,$b%5==0 恒为真(<?php
    $str = 'string';
    if($str%5==0){
    echo '11111';
    }else{
    echo '22222';
    }
    ?>的输入结果的11111)