数组

提出一个问题:

一个养鸡场有6只鸡,他们的体重分别为3kg,5kg,1k个,3.4kg,2kg,6.kg

请问这六只鸡的总体重是多少平均体重是多少请你用现在掌握的技术编一个程序

现在我们使用现有的技术来解决问题

$hen1=3;

$hen2=5;

$hen3=1;

$hen4=3.4;

$hen5=2;

$hen6=50;

如果我们的变量很多,如果我们分别取变量名,显示程序无法控制

怎么办

我们可以使用一个新的数据类型array数组,来统一管理这一组数

什么是数组

可以用于存放多个数据的数据类型

快速入门:来解决上述问题

$hens[0]=3;

$hens[1]=5;

$hens[2]=1;

$hens[3]=3.4;

$hens[4]=2;

$hens[5]=50;

$hens[6]=10;

$allWeight=0;

for($i=0;$i

echo"第".$i."只鸡体重".$hens[$i]."
";

$allWeight+=$hens[$i];

}

echo"共有".count($hens)."只鸡";

echo"
";

echo"总体重是=".$allWeight."平均体重=".$allWeight/count($hens);

?>

数组创建

在php中,数组就是关键字和值的组合,我们可以这样创建

1,创建数组

$arr[0]=121;

$arr[1]=44;

$arr[2]=43;

几个概念:

[0] - >这个称为下标,或者关键字

$arr[0] - >这个称为数组的一个元素

$arr[0]=121; 121表示$arr[0]元素对应的值

$arr- >这个是该数组的名称

在php数组中,元素存放的值可以是任意数据类型

$arr[0]="123";

$arr[1]="hello";

$arr[2]="45.2";

$arr[3]=true;

$arr[4]=null;//即使放入了一个null,也要占用一个空间

//遍历一下

for($i=0;$i

echo'
'.$arr[$i];

}

echo"数组大小".count($arr);

?>

2,创建数组的

第二种方法

基本语法

$数组名= array(值,.....);

举例说明:

$arr=array(23,"hello",234.1);

//遍历一下

for($i=0;$i< count ($arr);$i++) {

echo'
'.$arr[$i];

}

echo"
数组大小". count ($arr);

?>

3,第三种方式

(默认情况下,我们的元素下标是从0开始给你编号,但是,我们可以自己指定)

基本语法:

$arr['logo']="北京";

$arr['hsp']=123;

...

或者

$arr=array("logo"=>"北京","hsp"=>123,4=>234);

案例演示

$arr['logo'] ="北京";

$arr['hsp'] ="123";

/* for($i=0;$i

echo '
'.$arr[$i];这样遍历不行*/

//这个foreach使用范围更广。

foreach($arras$key=>$val) {

echo$key."=".$val.'
';

}

?>

图解理解:

☞特别说明:

1,如果我们创建一个数组时,没有给某个元素指定下标,php就会自动的用目前的最大的那个下标值(整数),加上1作为该元素的下标

$arr=array(5=>"logo",78,123.1);

//我要访问"logo"这个值

echo$arr[5].'
';

echo$arr[7];

?>

2,如果我们给某个元素的下标一样,则会覆盖原来的值

$arr=array(5=>"logo",78,123.1);

//我要访问"logo"这个值

$arr[5]="yes";

echo$arr[5].'
';

echo$arr[7];

?>

3,如果我们使用true,false,null作为key,则应当怎样访问

$arr[true]="hello";

$arr[false]="world";

$arr[null]="no!!";

echo$arr[1].'
';

echo$arr[0].'
';

echo$arr[null];

echo'
'.$arr[""];

$arr[123.3]="yuhua";

echo$arr[123].'
';

?>

4,print_r与var_dump的用法。

$arr[true]="hello";

$arr[false]="world";

$arr[null]="yes";

//我们通常可以使用print_r来显示整个数组的情况

//即:Array ( [1] => hello [0] => world [] => yes )

print_r($arr);

echo"
";

//var_dump可以更加详细的显示数组的信息

//即:array(3) { [1]=> string(5) "hello" [0]=> string(5) "world" [""]=> string(3) "yes" }

var_dump($arr);

?>

5,访问数组时,不要越界

一维数组的引用

基本语法:

$数组名[键值];

如果你写的键值不存在,则会报告

Notice: Undefined offset

//php数组可以动态的增长

$arr=array(2,3);

$arr[4]=56;

//这里说明php数组可以动态的增长。

echo$arr[4];

?>

php数组相关的函数说明

1,count函数

基本语法:

count($数组名),可以统计该数组共有过少个元素

2,is_array

3,print_r和var_dump

4,explode —使用一个字符串分割另一个字符串

此函数返回由字符串组成的数组

案例

//示例1

$pizza="piece1 piece2 piece3 piece4 piece5 piece6";

$pieces= explode(" ",$pizza);

echo$pieces[0].'
';// piece1

echo$pieces[1];// piece2

?>

php数组遍历的四个方法

☞如果使用for whiledo..while要确定该数组的下标是从0开始顺序排放的

$color=array('red','blue','black');

//for

for($i=0;$i< count ($color);$i++) {

echo'
'.$color[$i];

}

echo"
**********";

//while

$i=0;//循环控制变量

while($i< count ($color) ) {

echo'
'.$color[$i];

$i++;

}

//do.. while

echo"
**********";

$i=0;

do{

echo'
'.$color[$i];

$i++;

}while($i< count ($color) );

//foreach

echo"
*********";

foreach($coloras$k=>$v) {

echo"
$k=$v";

//echo '
$k=$v'; //双引号与单引号的区别。

}

?>

unset使用unset函数可以销毁某个元素,也可以销毁某个变量

$arr[0]=112;

$arr[1]=23;

$arr[2]="hello";

echo"
删除前********
";

echo$arr[1];

unset($arr[1]);

echo"
删除后********";

echo$arr[1];

print_r($arr);

?>

数组运算符

$a=array("a"=>"apple","b"=>"banana");

$b=array("a"=>"pear","b"=>"tea","c"=>"cherry");

$c=$a+$b;

//echo '$a+$b result
';

var_dump($c);

echo"
";

$c=$b+$a;

//echo '$b+$a result
';

var_dump($c);

?>

结果:

array(3) { ["a"]=> string(5) "apple" ["b"]=> string(6) "banana" ["c"]=> string(6) "cherry" }

array(3) { ["a"]=> string(4) "pear" ["b"]=> string(3) "tea" ["c"]=> string(6) "cherry" }

数组的案例:

array11.php

请输入学生的成绩,用空格隔开

result.php

//接受用户提交的学生成绩

$grades=$_REQUEST['grade'];

//echo 'grade='.$grades;

//拆分,对成绩进行分割

$grades=explode(" ",$grades);

$allGrades=0;

//遍历

foreach($gradesas$k=>$v){

echo"
$k=$v";

$allGrades+=$v;//隐藏转换string->float

}

//round函数

echo"
平均成绩是=".round($allGrades/count($grades),2);

?>

结果:

0=22

1=22

2=2平均成绩是=15.33

深入一点:

1如何将上面2个页面整合为一个页面

2还要求平均成绩保留到小数点后两位

3如何实现下面的功能

(百度里,关键字提交,不会给你删掉,就是这个原理)

array12.php

请输入学生的成绩,用空格隔开

error_reporting ( E_ALL ^ E_NOTICE );//关闭notice提示

//接受用户提交的学生成绩

$grades1=$_REQUEST['grade'];

//echo 'grade='.$grades;

//拆分,对成绩进行分割

$grades= explode (" ",$grades1);

$allGrades=0;

//遍历

foreach($gradesas$k=>$v) {

//echo "
$k=$v";

$allGrades+=$v;//隐藏转换string->float

}

?>

echo"平均成绩是=". round ($allGrades/ count ($grades),2);

//○2 round(,)方法

?>

如何关闭notice级别的提示

1,在php.ini文件中,改动error_reporting

改为:

error_reporting = E_ALL & ~E_NOTILCE

2,在你想禁止notice错误提示的页面加入下面的代码

/*Report all errors except E_NOTICE*/

error_reporting(E_ALL^E_NOTICE);

PHP求体重成绩函数,PHP数组相关推荐

  1. 用子函数的方法求一个3*4的数组的转置数组

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容3]用子函数的方法求一个3*4的数组的转置数组 #incl ...

  2. 一维数组的求平均成绩 Day06

    package com.sxt.arraytest1; /** 求班里学生的平均成绩,以及成绩的综合 输出每个同学的成绩*/ import java.util.Arrays; import java. ...

  3. php多维数组交集,求数组差/交集函数-php数组函数(二)

    求数组差集函数 函数只检查了多维数组中的一维.可以用 array_diff($array1[0], $array2[0]) 检查更深的维度. u:自定义函数比较,a(association):同时比较 ...

  4. C语言:从键盘输入10个学生的成绩存储在数组中,求成绩最高者的序号和成绩

    /*从键盘输入10个学生的成绩存储在数组中,求成绩最高者的序号和成绩*/ #include <stdio.h> int main(){int i,n=1;float max,grade[1 ...

  5. Linux-C基础知识学习:C语言作业-将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印。

    Linux基础知识学习 C语言作业:将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印. #include <stdi ...

  6. C++描述杭电OJ 2023.求平均成绩 ||

    C++描述杭电OJ 2023.求平均成绩 || Problem Description 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩 ...

  7. HDU2023 求平均成绩【入门】

    求平均成绩 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  8. 统计成绩java最高成绩_从键盘输入本次 Java 考试五位学生的成绩,求考试成绩最高分。_学小易找答案...

    [简答题]你准备去海南旅游,现在要订购机票.机票的价格受季节旺季.淡季影响,而且头等舱和经济舱价格也不同.假设机票原价为5000元,4~10月为旺季,旺季头等舱打九折,经济舱打八折,淡季头等舱打五折, ...

  9. 6-2 成绩单求平均成绩 (10分)

    6-2 成绩单求平均成绩 (10分) 本题要求实现一个函数,从一张成绩单中求平均成绩. 成绩结构体定义如下: typedef struct { char name[50]; //姓名 int scor ...

最新文章

  1. 五款常用协议分析处理工具推荐
  2. 恭喜《软件随想录》得到了大家的一致认可!
  3. MySQL 复制滞后怎么办?其实方法很简单
  4. SAP上线前数据重置方式总结
  5. jzoj4024-石子游戏【SG函数,博弈论】
  6. js 隐藏滚动条_轻量级 React.js 虚拟美化滚动条组件RScroll
  7. 基于八叉树的区域增长点云分割算法
  8. 最大流学习笔记(4)-推送重贴标签算法二
  9. leetcode_53 Maximum Subarray
  10. Lobooi个人作业:阅读与准备作业
  11. VS2013/SQL SERVER 产品密钥
  12. #IP实验室,第二周复盘
  13. 独立访客数UV、访问量PV和IP数的区别
  14. 关于一斤酒到底有几两的说明
  15. python3爬取网易云歌曲的相关信息
  16. 题目-火影-鸣人-查克拉分配给分身(详解)
  17. 华为大搞5G光通信,火星人快步紧跟
  18. 期待重磅升级的梅李大梦想城亲子游乐园!第三代黄桥大梦想城先让你一饱眼福!
  19. 极限元语音算法专家刘斌:基于深度学习的语音生成问题
  20. 华为云服务器的使用方法

热门文章

  1. 逻辑斯蒂回归_逻辑斯蒂回归详细解析 | 统计学习方法学习笔记 | 数据分析 | 机器学习...
  2. 一种QC-LDPC码对突发噪声抑制的MATLAB仿真
  3. 第十二届蓝桥杯省赛:试题 A: 卡片(Java)
  4. lora终端连接云服务器_终端连接服务器主机
  5. excel表格不够怎么添加_这个Excel表格,怎么做的这么漂亮
  6. 拼音缩写是啥意思_NMSL?AWSL?这些拼音缩写到底是啥意思?
  7. P1488 肥猫的游戏
  8. linux 中配置假域名来测试
  9. Spark面对OOM问题的解决方法及优化总结 (转载)
  10. 最近对项目代码做的一些更改和感想