<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--designed by dico-->
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head><?php
 function chessboard($tr,$tc,$dr,$dc,$size,&$board)
 {
   if($size==1)
    return;

   static $count=-1;
   static $tile=array('red','yellow','orange','green','blue'); //颜色库数组
   $t=$tile[++$count]; //牌的号码,用颜色标志
   $s=$size/2;  //分割棋盘
   
   //左上角
   if($dr<$tr+$s && $dc<$tc+$s) //判断特殊格子是否在左上角的棋盘内
   {
    chessboard($tr,$tc,$dr,$dc,$s,$board);
   }
   else
   {
    $board[$tr+$s-1][$tc+$s-1]=$t;
chessboard($tr,$tc,$tr+$s-1,$tc+$s-1,$s,$board);
   }
   
   //右上角
   if($dr<$tr+$s && $dc>=$tc+$s) //判断特殊格子是否在右上角的棋盘内
   {
    chessboard($tr,$tc+$s,$dr,$dc,$s,$board);
   }
   else
   {
    $board[$tr+$s-1][$tc+$s]=$t;
chessboard($tr,$tc+$s,$tr+$s-1,$tc+$s,$s,$board);
   }      //左下角
   if($dr>=$tr+$s && $dc<$tc+$s) //判断特殊格子是否在左下角的棋盘内
   { 
chessboard($tr+$s,$tc,$dr,$dc,$s,$board);
   }
   else
   {
    $board[$tr+$s][$tc+$s-1]=$t;
chessboard($tr+$s,$tc,$tr+$s,$tc+$s-1,$s,$board);
   }
   
   //右下角
   if($dr>=$tr+$s && $dc>=$tc+$s) //判断特殊格子是否在右下角的棋盘内
   { 
chessboard($tr+$s,$tc+$s,$dr,$dc,$s,$board);
   }
   else
   {
    $board[$tr+$s][$tc+$s]=$t;
chessboard($tr+$s,$tc+$s,$tr+$s,$tc+$s,$s,$board);
   }
 }
?><title>chessboard</title>
</head><body><?php $k=2;
 $ss=pow(2,$k)*pow(2,$k);
 $board=array(array('black','black','black','black'),array('black','black','black','black'));
 
 chessboard(0,0,0,1,$ss,$board);
 
 echo '<table>';
 for($i=0;$i<pow(2,$k);$i++)
 {
  echo '<tr>';
  for($j=0;$j<pow(2,$k);$j++)
   {
    echo '<td bgcolor="'.$board[$i][$j].'"'.'>';
echo '&nbsp;&nbsp;&nbsp;&nbsp;';
echo '</td>';
   }
  echo '</tr>';
 }
 echo '</table>';
 
?>
</body>
</html>主要就是非特殊表格没有全部着色,找了半天不知道怎么回事哪位大侠能指教指教吗?谢谢