数组是将多个数据集合在一起的一个形式。它在 PHP 中是非常强大的一种数据类型,可以用来存储多种类型的多个数据。陌小雨将首先介绍数组的优势,然后循序渐进地从简单创建一个数组、修改数组中的数据到常用的遍历数组再到灵活操作数组中指针的形式来学习。相信我们都可以很好地掌握 PHP 的数组。

1、数组的优势

数组的优势在于可以集中处理大批量的数据,而不需要每次更换变量名。由于是集中处理数据,所以处理方式上有很多优化和改进。PHP 中提供了专门的数组运算符以及非常多的操作数组的函数,因此 PHP 中的数组使用可以非常灵活。当然灵活性的提高是建立在不同细节上的,因此我们就需要从细节讲起,了解数组的每一个细节,然后根据需要来灵活操作数组。

我们不妨来设想下面这个情景:如果要求你统计一个班级中成绩的平均分,那么我们必须要声明等于学生个数的变量来存储每个人的成绩,然后再将所有成绩相加后再取得平均分简略的代码可以写成如下的形式:

$stu01=67;//声明多个变量存储学生成绩

$stu02=77;

$stu03=96;

...

$stun=100;

$average=($stu01+$stu02+stu03+...+$stun)/n;//求取平均值

?>

我们可以看到,这种形式需要声明很多变量来存储学生的成绩,而使用数组实现同样的功能,我们可以把程序改为如下所示的形式:

$stu=array(67,77,96,...,100);//定义一个数组

$total=array_sum($stu);//求取总成绩

$average=$total/n;//求取平均值

?>

使用数组实现相同功能的代码精简度是显而易见的,当然这里只是作为一个演示,我们此刻无需理解代码中使用的函数。

2、定义数组

PHP 中定义数组使用的是 array 结构,它的语法形式如下所示:

array array ([mixed values ]… )

这是定义数组的最基本形式,array 的参数被称元素可以是 0 个或者多个不同类型的数据,每个参数为“索引=>值”的键值对形式。如果索引被省略则由系统自动添加从 0 开始的整数索引,这种由系统指定索引的函数被称为索引数组。数组中元素的个数被称为数组的长度,它会随着元素的增减而变化。下面就来定义一个数组:

$arr=array(98,’hello’,67,’A’,85,NULL);

上面的代码中$arr 是数组的名称,用来保存定义的数组。该数组的长度为 6。

3、访问数组元素

访问数组中的元素是通过数组名指定索引来完成的,语法形式如下所示:

数组名[索引]

语法中的索引被放在方括号中,可以为变量、常量或者表达式。

$arr=array(98,'hello',67,'A',85,NULL);//定义一个数组

echo "输出第一个元素:{$arr[0]}";//输出数组的元素

echo "
输出第二个元素:{$arr[1]}";

echo "
输出第三个元素:{$arr[2]}";

echo "
输出第四个元素:{$arr[3]}";

echo "
输出第五个元素:{$arr[4]}";

echo "
输出第六个元素:{$arr[5]}";

?>

代码运行结果:

输出第一个元素:98

输出第二个元素:hello

输出第三个元素:67

输出第四个元素:A

输出第五个元素:85

输出第六个元素:

值得注意的是:数组的默认索引是从 0 开始的,在输出语句中使用花括号可以输出变量的值而不是以字符串输出。

我们还可以把一个变量作为数组的下标来访问数组的元素,形式如下所示:

数组名[变量名]

$arr=array(98,'hello',67,'A',85,NULL);//定义一个数组

$x=0;//定义三个作为下标的变量

$y=3;

$z=5;

echo "下标为{$x}的元素为{$arr[$x]}。
";//输出对应下标及元素值

echo "下标为{$y}的元素为{$arr[$y]}。
";

echo "下标为{$z}的元素为{$arr[$z]}。
";

$x=2;//为变量 x 重新赋值

echo "下标为{$x}的元素为{$arr[$x]}。";//输出对应下标及元素值

?>

代码运行结果:

下标为 0 的元素为 98。

下标为 3 的元素为 A。

下标为 5 的元素为。

下标为 2 的元素为 67。

从运行结果可以看到,我们可以采用这种方式来正确输出数组对应的元素。我们还可以将一个表达式作为数组的下标来访问数组的元素。

function num(){//定义函数

$x=7;

$y=6;

return $x-$y;//返回值为 7

}

$arr=array(98,'hello',67,'A',85,NULL);//定义一个数组

$a=1;//定义两个变量

$b=3;

echo '数组下标为 4 的元素为:'.$arr[$a+$b];//表达式作为下标

echo '
数组下标为 1 的元素为:'.$arr[num()];//表达式作为下标

?>

代码运行结果:

数组下标为 4 的元素为:85

数组下标为 1 的元素为:hello

以上代码中我们只使用了简单的示例来讲解,大家可以在实际使用时候融会贯通。

php1到12取值,零起点php入门第12课-php数组(1)相关推荐

  1. jmeter提取mysql数据_通过jmeter读取数据库数据,并取值作为请求的入参

    为提升测试技能,督促自己学习.故写了这篇文章.测试小白一枚,最近感觉达到了自己认为的瓶颈期.总是有想法,想突破,但是无从入手.工具类用过fiddler.jmeter.charels.postman.. ...

  2. 数组取值_Python基础(五)--numpy包(数组与矩阵)

    numpy包含两种基本的数据类型:数组和矩阵.1. 数组 (1)定义一个数组 输出: (2)定义多维数组 输出: #取出第一行的数据 #取出第一行,第一列的数据 2. 矩阵 python的矩阵操作与m ...

  3. 微博微信助力甜品店零起点日入1万

    大C是一位刚刚大四毕业的女生,读的是法律专业,并且考取了律师职业证书,可以正式到律师事务所报到实习.因为大C是个爱美的姑娘,一直对自己 的牙齿不满意,就带了牙套,成为了"牙套妹". ...

  4. 零基础语法入门第四讲 代词的主格和宾格

    代词:代替人和事物的名词称之为代词 代词的主格和宾格 主格代词 I ,he ,she ,it ,you ,we ,they. it 是动物事物的它. 作主语的代词叫做主格形式. 1.I am a te ...

  5. 零基础语法入门第第二十三讲 动词的用法总结

    动词根据其用法分为四大类 1. 实意动词 (有自己实在意义的动词) 2. 系动词 (起到联系作用) 3. 助动词 (帮助构成句子成分的) 4. 情态动词 (对于任何一件事情,我们都可以表达我们自己的情 ...

  6. 零基础语法入门第十二/十三讲指示代词和不定代词以及形容词

    指示代词:标识人或事物的代词,用来代替前面已经提到过的名词. this ,these ,that ,those 例句: This is his book. Those apples were his. ...

  7. 零基础语法入门第七讲 实意动词的特征

    之前讲过Be动词,起到联系作用,通常没有什么实在意义.实意动词指的是具有实在意义的动词. 实意动词如: come ,read ,go,watch,play,fly. 1.He comes from S ...

  8. 零基础语法入门第八讲 实意动词的否定/提问/回答

    使用助动词进行否定 在助动词do,does,did 后面加not. 一般现在时使用do does 作助动词,一般过去时的使用did.在助动词后面加上 not 构成实义动词的否定形式. do not / ...

  9. 零基础语法入门第六讲 反身代词

    反身代词就是表示某人自己. 反身代词:myself,yourself,herself,himself,itself. yourselves(你们自己),ourselves(我们自己),themselv ...

最新文章

  1. 我肝了一个月,给你写出了这本Java开发手册。
  2. 洛谷P4301 [CQOI2013]新Nim游戏
  3. 基于单TCP连接的高吞吐模型设计
  4. C++中的文件输入/输出(6):一些有用的函数
  5. 朗读评价语言集锦_干货 | 教师课堂评价规范用语的几点建议,建议收藏!
  6. TFS数据服务器启动优化
  7. web调试:ie缓存
  8. OC-NSFileManager
  9. 强悍的 Linux —— 网络
  10. NOI题库练习1.4(08)
  11. 易语言 Sqlite表.读字段值 失败的解决方法
  12. python函数查询工具_布同:Python函数帮助查询小工具[v1和v2]
  13. 智能暖风机——3.利用B3950实现温度采集功能
  14. 阿里巴巴算法岗编程题:菜鸟仓库
  15. 人工智能物联网开发的目录
  16. IgH详解六、IgH命令行工具使用
  17. python中的整数
  18. OAuth 2.0 的四种认证模式
  19. Whale帷幄 - 客户画像什么意思 客户画像精准营销管理系统
  20. STM32使用串口1配合DMA接收不定长数据,减轻CPU载荷

热门文章

  1. 中国料斗秤行业市场供需与战略研究报告
  2. input 模糊匹配功能 文本框模糊匹配(纯html+jquery简单实现) demo
  3. c语言二叉树反序列化,序列化和反序列化二叉树
  4. linux 网站获取数据失败,AnyBackup-Linux 环境下 Sybase 授权数据库实例时,提示错误:获取实例失败...
  5. 用好pypi,提高开发速度
  6. 从入门到入土:Python实现爬取刷新微博推荐和最新好友微博|cookie调用|模拟登录
  7. 百亿美元合同告吹!微软“到嘴的鸭子”飞了
  8. B站、字节跳动等上榜2021福布斯中国最佳雇主榜;中兴发布“5G 智能T恤”:可监测呼吸;Linux 5.13 发布|极客头条...
  9. 属于 Hadoop 的大数据时代已结束
  10. 原力计划·精英季来了!第一周周榜揭晓,你喜欢的博主上榜了吗?