php打印输出棋盘的实现方法

yipeiwu_com4年前PHP代码库

本文实例讲述了php打印输出棋盘的两种实现方法。分享给大家供大家参考。具体实现方法如下:

例子1,代码如下:

复制代码 代码如下:
<?php
/**
 * 隔行隔列换色
 * string fun_table(int $rows=9,int $cols=9)
 * $rows 表示行数 必须为整数 并且必须在1-20之间
 * $cols 表示列数 必须为整数 并且必须在1-20之间
 */
function fun_table($rows=9,$cols=9){
 if ($rows<1 || $rows>20){
  return "必须为整数 并且必须在1-20之间";
 }
 if ($cols<1 || $cols>20){
  return "必须为整数 并且必须在1-20之间";
 }
 if($rows!=(int)($rows)){
  return '行数 必须为整数';
 }
 
 if($cols!=(int)($cols)){
  return '列数 必须为整数';
 }
 $str="";
 $str.= "<table  cellspacing='0' width='500px' border = '1px' bordercolor='black'>";
 for ($i=1;$i<=$rows;$i++){
  $str.=  "<tr>";
   for ($j=1;$j<=$cols;$j++){ 
    if(($i+$j)%2){
     $str.=  "<td height='50px' bgcolor='black'>";
    }else{
     $str.=  "<td></td>";
   }
  }
 $str.=  "</tr>";
}
$str.=  "</table>";
return $str;
}
echo fun_table();
?>

例子2 简单实现棋盘-for循环

实现这个棋盘首先我们想想棋盘是怎么样的,是有很多个方格组成,然后由黑色和白色的相间的方格组成,首先我们先把方格画出来,代码如下:

复制代码 代码如下:
<?php
echo "<table  cellspacing='0' width='500px' border = '1px' bordercolor='black'>";
for ($i=1;$i<=10;$i++){
    echo "<tr>";
    for ($j=1;$j<=10;$j++){    
            echo "<td>54im</td>";
        }
    echo "</tr>";
}
echo "</table>";
?>

看到上面棋盘后,考虑下黑白格排放位置,有个规律可以发现,横排和竖排上白色格子都是基数,黑色的都是偶数,我们可以用取余的方法来判断这个格子该显示什么颜色,基数单元格我让他显示白色,偶数单元格显示黑色,基数+偶数=偶数,所以偶数单元格(黑色)我们很好找出来了,剩余的就是基数格(白色),代码如下:
复制代码 代码如下:
<?php
/**
通过for循环和html实现棋盘
**/
echo "<table  cellspacing='0' width='500px' border = '1px' bordercolor='black'>";
for ($i=1;$i<=10;$i++){
    echo "<tr>";
    for ($j=1;$j<=10;$j++){    
        if(($i+$j)%2){
            echo "<td height='50px' bgcolor='black'>";
        }else{
            echo "<td></td>";
            }
        }
    echo "</tr>";
}
echo "</table>";
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

关于PHP堆栈与列队的学习

在PHP中数组常被当作堆栈(后进先出:LIFO)与队列(先进先出:FIFO)结构来使用。PHP提供了一组函数可以用于push与pop(堆栈)还有shift与unshift(队列)来操作数...

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)

今天要用php代码来处理一个580M的日志文件,总共有219万多行记录,因为是.log的文件,在windows下面很难将文件按照条数来分割,于是在linux下用split -l 1000...

php使用pecl方式安装扩展操作示例

本文实例讲述了php使用pecl方式安装扩展操作。分享给大家供大家参考,具体如下: 安装pecl cd /usr/local/php/bin/ wget http://pear.ph...

PHP7内核之Reference详解

PHP7内核之Reference详解

问题 上一章说过引用(REFERENCE)在PHP5的时候是一个标志位, 而在PHP7以后我们把它变成了一种新的类型:IS_REFERNCE. 然而引用是一种很常见的应用, 所以这个变化...

php编写的抽奖程序中奖概率算法

们先完成后台PHP的流程,PHP的主要工作是负责配置奖项及对应的中奖概率,当前端页面点击翻动某个方块时会想后台PHP发送ajax请求,那么后台PHP根据配置的概率,通过概率算法给出中奖结...