陈力:传智播客古代 珍宝币 泡泡龙游戏开发第30讲:PHP多维数组
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第30讲:PHP多维数组
在PHP程序设计语言中,如何创建二维数组呢,怎样使用二维数组,这些问题在网站建设中非常重要。二维数组的基本语法为: $a=array(array(),array()..),本文通过实例,对数组或者二维数组的知识进行介绍。
一、多维数组(二维数组)
二维数组的基本语法:
语法: $a=array(array(),array()..)
比如: $a=array(array(1,2),array(5,0));
定义例子:
$arr=array( array(1,2,3), array(5,6,9) );
$arr[0]=array(1,0);
二维数组的应用很多,比如地图,扫雷游戏等都使用了二维数组。
二维数组在内存中存在的形式:
二维数组案例:请用二维数组输出如下图形:
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
//首先定义一个二维数组:
$arr=array(
array(0,0,0,0,0,0,1),
array(0, 0, 1, 0 ,0 ,0,5),
array(0 ,2 ,0, 3, 0, 0,90),
array(0,0,0,0,0,0,100));
//遍历二维数组(行)
for($i=0;$i<count($arr);$i++){
//遍历每行的数据
for($j=0;$j<count($arr[$i]);$j++){
echo $arr[$i][$j]." ";
}
echo "<br/>";
}
echo "<br/>".$arr[2][3];
二、 二维数组的相关实例
(1)打印如下图型:
*********
*********
*********
*********
*********
*********
(2)打印如下图型:
*
**
***
****
*****
(3)打印如下图型:
(4)空心金字塔
(5)空心菱形
PHP程序设计代码如下:
view.php
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<form action="homework01.php" method="post">
请输入层数:<input type="text" name="layer"/><br/>
请选择形状:
<select name="shape">
<option value="a">矩形</option>
<option value="b">半金字塔</option>
<option value="c">金字塔</option>
<option value="d">金字塔</option>
<option value="e">金字塔</option>
</select><br/>
<input type="submit" value="打印"/>
</form>
</html>
完成处理的homework01.php程序设计代码:
<?php
//$n表示层数
$n=$_REQUEST['layer'];
//"a"->表示矩形 "b"=>一半金子塔 "c"=>完整的金字塔
$shape=$_REQUEST['shape'];
$starNum=5;
//swtich
function printShape($n,$shape,$starNum=5){
switch($shape){
case "a":
for($i=1;$i<=$n;$i++){
for($j=1;$j<=$starNum;$j++){
echo "*";
}
//打完一层后,换行
echo "<br/>";
}
break;
case "b":
for($i=1;$i<=$n;$i++){
for($j=1;$j<=$i;$j++){
echo "*";
}
echo "<br/>";
}
break;
case "c":
break;
}
}
printShape($n,$shape); //调用
?>
(6)已知手掌游戏机一台320元,mp3一台260元。公司举行抽奖大会,公司有18人,一等奖游戏机,二等奖mp3,购入5台游戏机,13台mp3。问总价为多少,公司实际平均给每人花费了多少钱。
<?php
$gamerPrice=320;
$mp3Price=260;
$gamerNum=5;
$mp3Num=13;
$totalPrice=$gamerPrice*$gamerNum+ $mp3Price* $mp3Num;
$avgPrice= $totalPrice/ 18;
?>
(7)跳水比赛
跳水比赛实例中,有8个评委打分。运动员的成绩是8个成绩取掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是最后得分。使用一维数组实现打分功能。
解题PHP代码:
<?php
$arr=array(90,23,89,100,2,5,89,44);
//如果只想知道最低分和最高分是多少,则可以排序。
//找出给出最低分的裁判
//该函数可以返回给出最低分的裁判的下标
function findMin($arr){
//假设第一个人就是给出最低分的裁判
$minFen=$arr[0];
$minIndex=0;
for($i=1;$i<count($arr);$i++){
//如果下面条件成立,说明$i 裁判给出的成绩更低
if($minFen>$arr[$i]){
$minFe=$arr[$i];
$minIndex=$i;
}
}
return $minIndex;
}
?>
(8)乘法表
<?php
for($i=1;$i<=3;$i++)
{
for($j=1;$j<=$i;$j++)
{
echo "$j*$i=".$i*$j;
echo ' ';
}
echo '<br/>';
}
?>
(9)学生成绩管理系统
实现一个简单学生成绩管理系统,定义一个数组,用户输入10个同学的成绩,数组下标即代表学生学号。要求:输入学号,打印该学生成绩;输入成绩,打印该学生学号;统计各个分数阶段学生人数(不及格,差,中,良,优);输入学号,实现删除学生成绩功能。
PHP程序设计代码如下:
<?php
$arr=array(10,30,40,55,9,11,67,55,100,90,80,85);
//这个一个专门用于查找成绩的函数
function showStuGrade($stuNo,&$arr){
return $arr[$stuNo]; //查找
}
function showStuNo($grade,&$arr){ //函数
$flag=false;
for($i=0;$i<count($arr);$i++){
if($grade==$arr[$i]){
echo "<br/>学号为".$i."学生成绩是:".$grade;
$flag=true;
}
}
if($flag==false){
echo "<br/>没有学生考出这个成绩";
}
}
//接收doing值,从而判断该用户点击哪个按钮
$doing=$_REQUEST['doing'];
if($doing=="seaGrade"){
$stuNo=$_REQUEST["stuNo"];//接受学生的编号:
echo "学生编号是".$stuNo."的成绩是:".showStuGrade($stuNo,$arr);
}elseif($doing=="seaStuNo"){
$grade=$_REQUEST["grade"];//接受用户输入的成绩
showStuNo($grade,$arr);
}else if($doing=="stuState"){
//3、 统计各个分数阶段学生人数(不及格 0-59 ,差60-69 ,中70-79,良80-89,优90-100)
$stuStateArr=array(0,0,0,0,0);
for($i=0;$i<count($arr);$i++){
if($arr[$i]>=0 && $arr[$i]<=59){
$stuStateArr[0]+=1;
}else if($arr[$i]>=60 && $arr[$i]<=69){
$stuStateArr[1]+=1;
}else if($arr[$i]>=70 && $arr[$i]<=79){
$stuStateArr[2]+=1;
}else if($arr[$i]>=80 && $arr[$i]<=89){
$stuStateArr[3]+=1;
}else if($arr[$i]>=90 && $arr[$i]<=100){
$stuStateArr[4]+=1;
}
}
echo "<br/>统计结果如下: 不及格有".$stuStateArr[0]."<br/> 差有".$stuStateArr[1]."<br/>中有".$stuStateArr[2]."<br/>良有".$stuStateArr[3]."<br/>优秀有".$stuStateArr[4];
}
?>
【推荐阅读】陈力:传智播客古代 珍宝币 泡泡龙游戏开发第30讲:PHP多维数组
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第30讲:PHP多维数组相关推荐
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第35讲:PHP 抽象类与接口
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第35讲:PHP 抽象类与接口 如果一个类使用abstract 来修饰,则该类就是抽象类.抽象方法是声明为abstract的,是不需要实现的,供子类继承且实现 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法、数据类型(整型、布尔型、浮点型、字符串型)
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法.数据类型(整型.布尔型.浮点型.字符串型) PHP语法是什么样的,有哪些数据类型,有些什么变量.本文对PHP语法.数据类型(整型.布尔型 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第48讲:PHP绘图技术
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第48讲:PHP绘图技术 php绘图坐标体系中,坐标原点位于左上角,以像素为单位.php绘图时,要创建画布.画出各种图形.输出图形.销毁图形(释放内存资源). ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第26讲:PHP函数
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第26讲:PHP函数 什么是PHP函数,如何通过function定义一个函数,如何理解函数的调用过程.这些问题都是网站建设中经常遇到的程序设计问题.在进行网站 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第28讲:PHP数组
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第28讲:PHP数组 PHP程序设计语言中的数组如何创建,一维数组的引用,PHP数组变量,foreach语句,如何对数组进行排序等等知识都是贵阳网站建设中的主 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第50讲:PHP中的xml编程
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第50讲:PHP中的xml编程 Xml是extensiable markup language的简称,包括文档声明.元素.属性.注释.CDATA区.特殊字符 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第十讲:深入理解盒子模型
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第十讲:深入理解盒子模型 摘要:通过前节<第九讲:块元素.行内元素.标准流.盒子模型>学习了前节介绍了贵阳网站建设中的DIV+CSS中类选择器.i ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第38讲:PHP数据库编程mysql
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第38讲:PHP数据库编程mysql php程序设计语言为我们提供了mysql扩展库.mysqli扩展库.Pdo三种方式来操作mysql数据库.本文为贵阳网站 ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第29讲:PHP排序和查找
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第29讲:PHP排序和查找 PHP程序设计语言中的排序有内部排序.外部排序法等多种.本文介绍了交换式排序法.选择式排序法.插入式排序法等.还介绍了顺序查找.二 ...
最新文章
- 百越杯 Reverse (crazy write up)
- Catalyst 2950/2955交换机的RSPAN配置
- Mac高效笔记软件GoodNotes 5
- 马丁关于id加密验证防攻击
- 原生JS实现文件上传
- swagger常用注解汇总
- java计算机毕业设计家庭记账系统源码+数据库+系统+lw文档+mybatis+运行部署
- 购买《哈利波特》书籍
- 微软 Visual Studio 2019 正式发布
- 科学计算法(e/E表示规则)
- Debian虚拟机安装常用软件
- WINCE 注册表修改
- 如何解决抖音服务器维修中,干货丨关于抖音限流的各种问题,以及「解决方案」...
- 第四篇:mmpose之各类Demo测试及自定义数据原理(强推)
- 关于计算机的知识作文,计算机想象作文
- 使用nodejs Crawler模块 爬取页面dom数据,图片和视频等详解
- ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrnlpa.exe - Loading Kern
- .Net6 or .Net Core界面程序依赖注入实现Caliburn.Micro
- 拒绝流氓广告,捆绑插件,轻松下载各种官方正版软件,纯净版Windows系统
- 你还在找免费的室内家装SU模型吗?