PHP之数组遍历

2024-05-26

PHP之数组遍历(精选3篇)

篇1:PHP之数组遍历

PHP中的数组是一个关键字或值的`集合

(值可以是任何一种类型,包括另一个数组)

PHP中使用array来创建一个数组:

array( key=>value , key=>value …… )

例子:

$arr = array (3,5,7,9,6);

$arr = array (“id”=>2,”title”=>3);

篇2:计算机语言数组技术之应用探讨

一 问题的引入

教师给学生教计算机编程时, 常向学生们介绍:

程序=数据结构+算法

其中, 数据结构是指程序中所要处理的数据在计算机内存中的存贮表示;算法是指计算机处理这些数据的步骤。数据结构是算法有效实现的前提。

数据结构的知识在课程《数据结构》中会有详细、全面而又系统的介绍, 在《数据结构》所进行的算法设计与实现中, 应用到最多的就是数组技术来存储数据, 实现其数据结构, 可见数组技术的应用广泛。

二 数组技术的教学引入

数组是可以申请绑定到一组地址连续、来存贮大批量数据的内存空间一种编程技术。因此, 在程序中, 当程序员需要将大批量的数据存贮到内存中时, 就需要使用数组技术来申请内存空间了。

例如:设计程序, 让计算机能将键盘输入的10个整型数按从小到大的次序输出?

问题分析:需要把这10个整数同时存储在内存条中, 计算机才能对它们进行排序, 这就需要申请使用10块内存空间。显然, 若要利用前面我们所介绍的单个变量说明技术, 程序中需要定义10个整型变量, 才能申请得到10块内存空间, 而此法显然是太繁琐了, 试想若要排序的是100、1000个数呢?此时, 数组技术就显现出它的作用了。下面程序就是利用数组接收并存储10个整数, 再使用冒泡排序方法控制计算机将这10个整数从小到大排序, 并输出;10个数据在内存中的存储形式 (即数据结构) 见左下图。

三 数组技术的协作性

1.数组与字符的协作

在C语言中, 没有提供字符串这种数据类型的, 但是字符串操作、文本编辑处理等也是程序设计中经常要实现的操作。而字符串本身的定义是由一个或若干个字符组成的有限序列, 表达形式为:str=”s1s2…sn”, 显然就预示了在解决字符串的存储问题上, 也是需要一次性申请多个内存字节, 使用数组技术才能易于申请到足够的内存字节来存储字符串。因此, 在C语言中, 用字符数组来实现字符串的存储, 实质上也给我们展示了在以往的计算机语言 (如Pascal语言) 中, 字符串数据类型的实现原理。

例如:以下程序是模拟银行ATM机上, 密码最多允许三次输入错误, 如果三次都错了, 就不能继续操作了, 程序中, 密码的存储和操作都是用数组来作为载体的。

2.数组与结构体的协作

在实际应用中, 某些问题的编程实现需要多种技术综合应用, 才能达到解题的需求。

例如:设计程序, 找出下列成绩表中的最高分、最低分及平均分。

程序设计分析:首先需要将该二维表数据存入线性结构的计算机内存中, 显然这个表中的数据量较多, 需要用数组技术来批量申请内存空间, 如果使用简单数据类型的数组 (如int xuhao[10];) 只能存储一列数据, 而表中有三列数据, 则需要用三个简单数据类型的数组, 那要是二维表的列数是10列、20列甚至更多列呢?如果使用简单数据类型的数组来申请内存空间, 内存的访问将是低效的。解决这一类问题, 最好的方式是将结构体技术及数组技术综合起来应用, 用结构体封装每一个学生不同数据类型的数据信息, 再用结构体来定义数组, 就可以申请足够的内存空间, 又提高程序的可读性, 并进而提高程序的运行效率。程序代码如下:

四 数组技术在《数据结构》中的应用

《数据结构》这门学科主要研究是数据在计算机内存中的存储形式, 常见得存储形式有顺序存储形式、链式存储形式、索引存储形式及顺序与链式综合应用存储形式 (如树的双亲孩子链表表示法) 等, 而其中的顺序存储形式、索引存储形式及顺序与链式综合应用存储形式, 都要使用到数组技术。

五 结束语

数组技术在程序设计中的应用很广泛, 是一种强有力的编程技术, 若能深刻地领悟到它的原理与奥妙, 可使我们的编程能力得到很大的增强。因此, 对于数组技术非常值得深入探究, 进一步挖掘出它的其他应用, 从而提高我们的编程能力。

参考文献

[1]谭浩强.C程序设计[M].北京:清华大学出版社, 2009

[2]郑阿奇、丁有和.C教程[M].北京:电子工业出版社, 2010

[3]罗朝盛.C程序设计使用教程[M].北京:人民邮电出版社, 2007

[4]徐翠霞.数据结构案例教程[M].北京:北京大学出版社, 2009

篇3:Excel数组公式之新手上路

计算自行车专卖店的销售总额

首先通过一个应用实例来说明数组公式的基本用法。已知某电动自行车专卖店去年7月销售统计表(如图1),现在要计算7月份的销售总额。这对于使用过Excel进行数据统计的朋友,肯定是易如反掌:先在E4单元格中输入公式“=C4*D4”,然后按回车键得到计算结果4400。接下来向下拖动复制该公式到E5:E19单元格,最后在E20单元格中执行自动求和命令(∑)或插入求和函数SUM,得到销售总额的计算结果89250。

如果用数组公式来计算销售总额,则可以不创建E列数据,直接在D20单元格中输入数组公式“=SUM(B4:B19*C4:C19)”,然后按下“Ctrl+Shift+Enter”组合键,这时Excel 会自动使用一对大括号 {}将该公式括起,并依次计算B4*C4、B5*C5、B6*C6、…、B19*C19的乘积(亦即数组B4:B19与C4:C19相乘),再使用 SUM 函数将这些乘积累加,最后算出的销售总额同样等于89250。如果你手动输入大括号{},数组公式将会转换为文本字符串,并且不再起任何计算作用。

计算销售人员的月度奖金

接下来,再通过另外一个计算销售奖金的问题进一步说明数组公式使用方法(如图2)。已知销售统计表,要计算各位销售人员的月销售额,并取其5%作为销售人员的月度奖金。具体操作方法如下:先选中销售人员数据列,执行“数据/删除重复项”命令,筛选出所有不同的销售人员,并进行基本的格式设置。然后在J4单元格中输入数组公式“= SUM(IF(B4:B19=I4,C4:C19*D4:D19))”,该公式使用了SUM和IF函数的嵌套,具体含义如下:如果数组B4:B19中的数据项等于I4,就将其对应的行的J列和K列数据相乘,然后对它们求和。为了能将该公式正确地向下复制到J5:J9单元格,还需要把三个数组B4:B19、C4:C19和D4:D19设置成绝对定位(在行列标号前面加$符号),即“=SUM(IF($B$4:$B$19=I4,$C$4:$C$19*$D$4:$D$19))”,然后按“Ctrl+Shift+Enter”组合键,得到张成杰的销售额为15500,然后再将该公式向下拖动复制,就可以很快完成其他销售人员的月销售额的计算。当然,你可以先尝试使用分类汇总命令来计算,然后再与使用数组公式的计算过程进行比较,以加深对数组公式使用方法的理解。

计算导师的辅导成果

笔者曾经碰到过一个计算导师跟踪奖的问题(如图3)。已知各位教师所跟踪学生的班级和学号(这些数据由教务处随机生成),学生的期中、期末考试成绩分别在工作表qz和qm当中,S列为年级名次。这里要在工作表qz和qm当中,分别查找对应学生的期中和期末考试的年级名次,并以两者之差作为评价教师跟踪辅导效果的主要指标。通过数组公式可以使这个问题计算更简单:在D2单元格中输入数组公式“=SUM(IF((qz!$A$2:$A$1766=B2)*(qz!$B$2:$B$1766=C2),qz!$S$2:$S$1766))”,具体含义如下:当数组A2:A1766中的某一项等于B2,并且数组B2:B1766中的某一项等于C2时,取其所在数据行中S列的“年名”,因为IF函数只能判断而不能得到数据项,并且符合条件的数据项有且仅有一个,因此这里借用了SUM函数的求和功能,在数组S2:S1766中查找符合前面两个条件的数据项。其中,“*”为多个条件的交集符号,而多个条件的并集符号则为“+”。

与一般公式相比,数组公式也必须以“=”开始,还可以在数组公式中插入任何Excel内置函数,最主要的不同是输入或修改数组公式后必须按 “Ctrl+Shift+Enter”,否则会出现“#VALUE!”等错误提示,也正因如此,数组公式有时也被称为“CSE 公式”。以上操作在Excel 2007完成,对Excel 2003同样适用。

上一篇:浅析微留学带给孩子的好处下一篇:积极思想汇报