php打印输出棋盘的实现方法
作者:shichen2014 发布时间:2023-10-09 04:38:10
标签: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程序设计有所帮助。
0
投稿
猜你喜欢
- 导言:在前面的教程我们阐述了应用程序处理二进制数据的2种模式,以及使用FileUpload 控件从浏览器向服务器文件系统上传文件。当文件上传
- 前言在几周前,我开始工作于一个证券投资组合网站。虽然我只能使用 React 完成整个网站,但我决定使用 Go 来创建一个可以处理某些任务(例
- GetRows 方法 将 Recordset 对象的多个记录复制到数组中。 语法 代码如下: array = recordset.GetR
- 阅读上一篇:请给PNG8一个机会 系列二:对png8的误解Png8的在ie中的怪异表现:1.半透明的png8在ie6以下的浏览器显示为全透明
- 有过相关经验的朋友都知道,Jscript的效率毕竟有限,在数组中查找数据时如果用常规的算法来做执行起来会很慢。例如在一个含500个字符串的d
- 昨天去面试,百度题果然不一样,笔试我就蒙了,现在能记住两道题,笔试:1、title和alt 区别2、三列布局 左边裂固定宽度左对齐,右边列固
- 本文介绍了vue 模拟后台数据(加载本地json文件)调试,分享给大家,也给自己留个笔记首先创建一个本地json文件,放在项目中如下{ &q
- 在Soundbreak我们每天24小时不间断地播放实况音频和视频,所以对于MySQL的新增的复制特性,我们不能做出很令人信服的测试。通过测试
- 前几天在“CSS那些事儿”的群中,一位读者朋友(小土豆)问我书中提到首字下沉的时候为什么要增加一个清除浮动。当时我自己一时迷惑了,为什么呢,
- 相信很多人像我一样在学习python,pandas过程中对数据的选取和修改有很大的困惑(也许是深受Matlab)的影响。。。到今天终于完全搞
- Css Reset是什么? 有些同行叫 "css复位",有些可能叫 "默认css".....相信看完
- “位置:首页 第一屏通栏 格式:jpg 尺寸:960*90 ……”在工作我们经常会接到这样的banner设计需求,由
- 有这样一个要求,它要创建一个SQL Server查询,其中包括基于事件时刻的累计值。典型的例子就是一个银行账户,因为你每一次都是在不同的时间
- 什么是CSS裸奔节?CSS裸奔节就是将这整站的css样式都去掉,这样所有的布局,颜色,背景什么的就都没有了(除非你使用table布局),只剩
- <script>function getJsFile(url, callBack){
- 大家经常用的是Adodb.Stream,但这时就有个缺陷,就是不支持断点续传了。经常看到flashget中是红脸(即不支持断点续传)其实支持
- php中主要用到的就是要用到fread()和fwirte()。而静态页面生成了之后,就会牵扯到修改的问题。这里可以用到正则匹配的方法来替换模
- 大家都知道,数据库的安全性是很重要的,它直接影响到数据库的广泛应用。用户可以采用任意一种方法来保护数据库应用程序,也可以将几种方法结合起来使
- 在前人的基础上,我对比较优秀的sql语句进行了重新的编辑和整理,力求精短易学。希望大家可以举一反三,更好学习sql语句,如果有问题,还请翻阅
- 今天是五一劳动节,可是我们劳动人民的节日哦。很多大网站都设计了特殊的logo来表示向每一位普通的劳动者致敬!下面就让我们看看这些logo吧!