设置一个计数器 输出一个值加1 到第三个就换行啊 例子:
$i=0;
while(true){
    if($i++%3==0)
        echo "<br>";
}

解决方案 »

  1.   

    $ar = array(...);
    for( $i = 1; $i <= count($ar); $i++ ) {
      if( $i % 3 != 0 ) {
        echo $ar[$i-1]."  ";
      }else {
        echo "<br>";
      } 
    }
      

  2.   

    我这样写哪儿不对,怎么输不出一行3列 
    <table border="0" cellspacing="0" cellpadding="0"><?     for($j=0;$j<count($modelArray);$j++)
     {
      $modelArray_constellationid  = $modelArray[$j][0];
      $modelArray_constellationname  = $modelArray[$j][11];
        if ($modelArray_constellationid == $constellationArray_id) {
    if($j%3 == 0) echo "<tr align='right'>";
    echo "<td>"; ?><table width="200">
      <tr>
        <td><?=$modelArray_constellationname?></td>
      </tr>
      <tr>
        <td>abc</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table>
    <?  echo "</td>";
    $j++;
    if($j%3 == 0) 
    echo "</tr>";
    }
    }  
    echo "</table>";?>
    </td><td>&nbsp;</td><td width="2"></td></tr></table>
      

  3.   

    1、你的$j是循环控制变量,若在循环中改变他将不能得到预期的效果
    2、输出是有条件的,并不是每个$j对应处都是有输出的
    3、如果你需要只对有输出的内容进行排列,则
    <table border="0" cellspacing="0" cellpadding="0">
    <? 
    $k = 0;
    for($j=0;$j<count($modelArray);$j++) {
      $modelArray_constellationid  = $modelArray[$j][0];
      $modelArray_constellationname  = $modelArray[$j][11];
        if ($modelArray_constellationid == $constellationArray_id) {
          if($k == 0) echo "<tr align='right'>";
    echo <<< TAB
    <td>
    <table width="200">
      <tr>
        <td>$modelArray_constellationname</td>
      </tr>
      <tr>
        <td>abc</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table>
    </td>
    TAB;
        $k = ($k+1)%3;
        if($k == 0) 
          echo "</tr>";
      }
    }  
    echo "</table>";?>
    </td>
    <td>&nbsp;</td>
    <td width="2"></td>
    </tr>
    </table>