PHP求体重成绩函数,PHP数组

数组

提出一个问题:

一个养鸡场有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.'
';

}

?>

图解理解:

0818b9ca8b590ca3270a3433284dd417.png

☞特别说明:

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如何实现下面的功能

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

0818b9ca8b590ca3270a3433284dd417.png

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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s secret使用_Java Secret:使用枚举构建状态机

k8s secret使用总览 Java中的枚举比许多其他语言更强大&#xff0c;可以导致令人惊讶的用途。 在本文中&#xff0c;我概述了Java 枚举的一些单独功能&#xff0c;并将它们放在一起形成一个状态机。 单例和实用程序类的枚举 您可以非常简单地将枚举用作Singleton或Utility。…

mydumper备份原理和使用方法

mydumper介绍 MySQL自身的mysqldump工具支持单线程工作&#xff0c;依次一个个导出多个表&#xff0c;没有一个并行的机&#xff0c;这就使得它无法迅速的备份数据。 mydumper作为一个实用工具&#xff0c;能够良好支持多线程工作&#xff0c;可以并行的多线程的从表中读入数据…

matlab pca可视化,利用Matlab实现PCA demo展示

input_data rand(1000,3);%随机生成1000个样本&#xff0c;每个样本有x,y,z三个属性 figure(1);%控制画图的窗口为1hold off;%使当前轴和图形不再具备被刷新的性质&#xff0c;关闭在此基础上再画图plot3(input_data(:,1), input_data(:,2), input_data(:,3), ‘ro‘);%% Func…

matlab短均线滞后项,均线理论的滞后性问题

对移动平均线有一定了解的人都会发现移动平均线理论存在一个缺点&#xff0c;那就是移动平均线的信号具有一定的滞后性&#xff0c;这是制约移动平均线运用的最大因素。介绍了均线的计算方法.从它的计算方法中也能看出目前均线的数值要受到前一阶段股价的影响&#xff0c;而且均…

python捕获摄像头帧_Xuggler教程:帧捕获和视频创建

python捕获摄像头帧注意&#xff1a;这是我们的“ Xuggler开发教程 ”系列的一部分。 到目前为止&#xff0c;在我们的Xuggler教程系列中&#xff0c;我们已经对视频处理的Xuggler进行了介绍&#xff0c;并讨论了转码和媒体修改 。 在本教程中&#xff0c;我们将看到如何解码视…

MyEclipse 编写 ExtJS 卡死问题解决方法

MyEclipse 8.6 在 jsp 中编写 ExtJS时&#xff0c;会出现卡死现象&#xff0c;让人甚是头疼。网上找了很多方法&#xff0c;折腾半天&#xff0c;还是不管用。 什么MyEclipse 优化&#xff0c;Validation 取消&#xff0c;MyEclipse 在 JSP 中打 "点" 时&#xff0…

java的aqs是什么,AQS在Java中的应用

上篇文章我们详细分析了AQS的底层实现原理,这节就来探索jdk中使用AQS实现的工具类ReentrantLock一, 是什么?怎么用?是什么?是一个独占锁,也就是在并发环境下同一时刻只能有一个线程获得资源,也是一个可重入锁.可重入锁: 一个线程已经获取到了该资源,下次再次获取资源时不会出…

php怎么把字符转成大写,php怎么把字符串转换为大写

php把字符串转换为大写的方法&#xff1a;可以利用内置函数strtoupper()来进行转换。strtoupper()函数可以把指定的字符串转换为大写&#xff0c;并返回被转换为大写的字符串。使用函数&#xff1a;(学习视频推荐&#xff1a;php视频教程)strtoupper() 函数把字符串转换为大写&…

oracle存储过程与函数的区别及作用,Oracle存储过程与存储函数-入门

文章思维导图一. 存储过程和存储函数的定义定义&#xff1a;存储在数据库中&#xff0c;供所有用户程序调用的子程序叫做存储过程/存储函数。复杂点的解释&#xff1a;存储过程(Stored Procedure)&#xff0c;就是一组用于完成特定数据库功能的SQL 语句集&#xff0c;该SQL语句…

CC++初学者编程教程(8) VS2013配置编程助手与QT

1. 2. 配置编程助手 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19&#xff0e; 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30&#xff0e; 31. 32&#xff0e; 33. 34. 35. 36. 37. 38. 39 40 41 42 43 这个时候我们就在VS2013里面集成了QT&#xff0c;编程助…

转子碰磨 matlab,航空科普:什么是航空发动机转子碰磨?

中国航空报讯&#xff1a;随着人们对航空发动机油耗、推重比等要求的逐步提高&#xff0c;提升航空发动机运行效率&#xff0c;尤其是提升民用航空发动机的经济性已经变得越来越重要。航空发动机的总体运行效率是气动效率、燃烧效率、冷却效率与机械效率等共同决定的。其中&…

Android 自定义 ListView 显示网络上 JSON 格式歌曲列表

本文内容 环境 项目结构 演示自定义 ListView 显示网络上 JSON 歌曲列表 参考资料 本文最开始看的是一个国人翻译的文章&#xff0c;没有源代码可下载&#xff0c;根据文中提供的代码片段&#xff0c;自己新建的项目&#xff08;比较可恶的是&#xff0c;没有图标图片资源&…

oracle 索引invisible,Oracle index unusable和invisible的区别

invisible index会被优化器所忽略&#xff0c;但是dml操作仍然会维护索引。在session或者system级别使用参数OPTIMIZER_USE_INVISIBLE_INDEX摘录自Oracle 11g的官方文档&#xff1a;UNUSABLE Specify UNUSABLE to mark the index or index partition(s) or index subpartition(…

php16进制密钥签名对接支付,简单理解rsa的加密和签名-PHP实现

我们先动手在linux上生成一下rsaPs&#xff1a;openssl是一堆加密算法和安全协议的开源集合,像RSA,DES,MD5,RC4等等,都能在openssl里面找到源代码.用openssl指定生成test.key文件&#xff0c;其中包含公钥私钥&#xff0c;1024为生成密钥长度tbtb:~/mimi$ openssl genrsa -out …

java中字符和字节的转换_Java最佳实践–字符到字节和字节到字符的转换

java中字符和字节的转换在使用Java编程语言时&#xff0c;我们将继续讨论与建议的实践有关的系列文章&#xff0c;我们将讨论String性能调优。 特别是&#xff0c;我们将着重于使用默认编码时如何有效地处理字符到字节和字节到字符的转换。 本文总结了两种建议的自定义方法与两…

Android实现简单短信发送器

布局&#xff1a; <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:id"id/container"android:layout_width"match_parent"android:layout_heigh…

linux 查看文件哈希码,使用linux的sha1sum命令查看效验文件哈希值命令

服务器今天小编给大家分享的是使用linux的sha1sum命令查看效验文件哈希值命令&#xff0c;相信很多人都不太了解&#xff0c;为了让大家更加了解&#xff0c;所以给大家总结了以下内容&#xff0c;一起往下看吧。一定会有所收获的哦。sha1sum命令用于生成和校验文件的sha1值。它…

Java中的传值与传引用

曾经对java中传值还是传引用的问题十分困惑&#xff0c;而且也被问到过许多次&#xff0c;无论是面试&#xff0c;还是平时我们平时的讨论中。 在stackoverflow上面浏览时&#xff0c;无意中发现了跟这个问题有关的论题&#xff0c;于是深入地查看了&#xff0c;感觉获益匪浅&a…

java高性能序列化_Java最佳实践–高性能序列化

java高性能序列化在使用Java编程语言时&#xff0c;我们将继续讨论与建议的实践有关的系列文章&#xff0c;我们将讨论并演示如何将对象序列化用于高性能应用程序。 所有讨论的主题均基于用例&#xff0c;这些用例源于电信行业关键任务超高性能生产系统的开发。 在阅读本文的…

linux进程属主6,20150917 Linux进程查看与管理以及作业管理

第一、基础知识MBR引导--内核--内核程序--》协调其它程序一般内核运行在硬件之上&#xff0c;各应用也在硬件之前1)OS的基本功能&#xff1a;文件系统、网络功能、进程管理、内存管理、驱动程序、安全功能以上为通用目的设置的程序。&#xff0c;程序指令数据&#xff0c;程序运…