$array = array ('A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z' );for($i=0; $i<count($array); $i+=6) {
  echo '<tr>', PHP_EOL;
  $t1 = array_keys(array_slice($array, $i, 6)) + array_fill(0, 6, '');
  $t2 = array_values(array_slice($array, $i, 6)) + array_fill(0, 6, '');
  foreach($t1 as $v) {
    echo "  <td>$v</td>", PHP_EOL;
  }
  echo '</tr>', PHP_EOL;  echo '<tr>', PHP_EOL;
  foreach($t2 as $v) {
    echo "  <td>$v</td>", PHP_EOL;
  }
  echo '</tr>', PHP_EOL;
}<tr>
  <td>A</td>
  <td>B</td>
  <td>C</td>
  <td>D</td>
  <td>E</td>
  <td>F</td>
</tr>
<tr>
  <td>a</td>
  <td>b</td>
  <td>c</td>
  <td>d</td>
  <td>e</td>
  <td>f</td>
</tr>
<tr>
  <td>G</td>
  <td>H</td>
  <td>I</td>
  <td>J</td>
  <td>K</td>
  <td>L</td>
</tr>
<tr>
  <td>g</td>
  <td>h</td>
  <td>i</td>
  <td>j</td>
  <td>k</td>
  <td>l</td>
</tr>
<tr>
  <td>M</td>
  <td>N</td>
  <td>O</td>
  <td>P</td>
  <td>Q</td>
  <td>R</td>
</tr>
<tr>
  <td>m</td>
  <td>n</td>
  <td>o</td>
  <td>p</td>
  <td>q</td>
  <td>r</td>
</tr>
<tr>
  <td>S</td>
  <td>T</td>
  <td>U</td>
  <td>V</td>
  <td>W</td>
  <td>X</td>
</tr>
<tr>
  <td>s</td>
  <td>t</td>
  <td>u</td>
  <td>v</td>
  <td>w</td>
  <td>x</td>
</tr>
<tr>
  <td>Y</td>
  <td>Z</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>
<tr>
  <td>y</td>
  <td>z</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>

解决方案 »

  1.   


    <?php
      $array = array ('A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z' );;
      $keys = array_chunk(array_keys($array),6);
      $values = array_chunk(array_values($array),6);
      $newArray = array();
      foreach($keys as $key=>$item){
        $newArray[] = $item;
        $newArray[] = $values[$key];
      }
      $html = '<table><tbody>' . PHP_EOL;
      foreach($newArray as $value){
        $tr = '<tr>'. PHP_EOL; 
       for($i=0;$i<6;$i++){
          $text = empty($value[$i])?'':$value[$i];
          $tr .=  "<td>$text</td>". PHP_EOL;
        }
       $tr .= '</tr>'. PHP_EOL;
       $html .= $tr;
      }
      $html .= '</tbody></table>'. PHP_EOL;
      echo $html;
        
    ?> 
    <table><tbody>
    <tr>
    <td>A</td>
    <td>B</td>
    <td>C</td>
    <td>D</td>
    <td>E</td>
    <td>F</td>
    </tr>
    <tr>
    <td>a</td>
    <td>b</td>
    <td>c</td>
    <td>d</td>
    <td>e</td>
    <td>f</td>
    </tr>
    <tr>
    <td>G</td>
    <td>H</td>
    <td>I</td>
    <td>J</td>
    <td>K</td>
    <td>L</td>
    </tr>
    <tr>
    <td>g</td>
    <td>h</td>
    <td>i</td>
    <td>j</td>
    <td>k</td>
    <td>l</td>
    </tr>
    <tr>
    <td>M</td>
    <td>N</td>
    <td>O</td>
    <td>P</td>
    <td>Q</td>
    <td>R</td>
    </tr>
    <tr>
    <td>m</td>
    <td>n</td>
    <td>o</td>
    <td>p</td>
    <td>q</td>
    <td>r</td>
    </tr>
    <tr>
    <td>S</td>
    <td>T</td>
    <td>U</td>
    <td>V</td>
    <td>W</td>
    <td>X</td>
    </tr>
    <tr>
    <td>s</td>
    <td>t</td>
    <td>u</td>
    <td>v</td>
    <td>w</td>
    <td>x</td>
    </tr>
    <tr>
    <td>Y</td>
    <td>Z</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td>y</td>
    <td>z</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    </tbody></table>
     
      

  2.   

    foreach(array_chunk(array_keys($array), 6) as $v){
         $len = count($v);
     if($len < 6){
         $v = array_merge($v, array_fill(0, 6-$len, ''));
     }
         echo "<tr>\n";
     echo "<td>".implode("</td>\n<td>",$v)."</td>\n";
     echo "</tr>\n";
     
     $vl = array_map('strtolower', $v);
     echo "<tr>\n";
     echo "<td>".implode("</td>\n<td>",$vl)."</td>\n";
     echo "</tr>\n";
     
    }
      

  3.   

    感谢几位大神的回复 小弟收益匪浅, jordan102 版主可能没理解这个问题的本质其实是想隔行显示标题和内容 ,而不是把大写转为小写的问题 ,可能是我给的数组误导了你,不过如果针对我给数组,你的思路也很值得学习, 再次感谢几位
      

  4.   

    php 有丰富的数组函数,这里再提供一种写法$array = array ('A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z' );$a = array_map(null, array_chunk(array_keys($array), 6), array_chunk($array, 6));
    foreach($a as $rs)
      foreach($rs as $r) {
        echo "<tr>\n";
        if(count($r) < 6) $r = array_pad($r, 6, '');
        foreach($r as $v) echo "<td>$v</td>\n";
        echo "</tr>\n";
      }
      

  5.   

    一层循环便可。$arr = array ('A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z' );$page = (int)((count($arr)-1)/6)+1;echo '<table border="1"><tbody>';
    for($i=0; $i<$page; $i++){
        echo '<tr>';
        echo '<td>'.implode('</td><td>',array_pad(array_keys(array_slice($arr, $i*6, 6)),6,'')).'</td>';
        echo '</tr>';
        echo '<tr>';
        echo '<td>'.implode('</td><td>',array_pad(array_slice($arr, $i*6, 6),6,'')).'</td>';
        echo '</tr>';
    }
    echo '</tbody></table>';