《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf

上传人:奥****文 文档编号:2309588 上传时间:2024-06-11 格式:PDF 页数:75 大小:3.52MB
下载 相关 举报
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第1页
第1页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第2页
第2页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第3页
第3页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第4页
第4页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第5页
第5页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第6页
第6页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第7页
第7页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第8页
第8页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第9页
第9页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第10页
第10页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第11页
第11页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第12页
第12页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第13页
第13页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第14页
第14页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第15页
第15页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第16页
第16页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第17页
第17页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第18页
第18页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第19页
第19页 / 共75页
《PHP动态网站设计(专)》项目三 随机数矩阵文件.pdf_第20页
第20页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、项目三随机数矩阵PHP动态网站开发项目教程项目目标在网页中输出11000的随机整数组成的矩阵,找出矩阵中满足“在行中最小,在列中最大”的数并输出,如图所示。(源代码:chapter3example.php)图3.1 输出随机数矩阵3相关知识项目实现内容导航数组操作字符串操作4数组操作一个数组由多个元素组成,每个元素又包含键名和值。与其他程序设计语言类似,PHP用数组名加下标来访问数组元素。PHP中,键名就是数组元素下标,下标是整数或字符串。若使用浮点数或只包含整数的字符串作为下标,则会自动转换为整数。数组元素的值可以是整数、浮点数、字符串、另一个数组或者对象。在数组元素中保存一个数组,则可构成

2、二维数组。当然也可以构成三维数组或多维数组。如果用语句创建一个一维数组,代码如下。下图所示说明了数组在内存中的存放形式:51直接赋值创建数组在2.3.3节中介绍了使用array()函数创建数组的方法,而PHP与其有所不同,它允许通过直接给数组元素赋值来创建数组,基本格式为如果数组中已存在相同下标的元素,则该元素的值被修改;否则在数组末尾添加一个新的数组元素。在给数组元素赋值时,可省略下标。例如:例如:在省略下标时,PHP总是在数组末尾添加新的数组元素,数组下标为最大键值加1。若数组中还没有元素或现有元素键值均为字符串,则新添加的数组元素下标为0。61直接赋值创建数组例3.1通过赋值创建数组及修

3、改和添加元素的程序代码如下。(源代码:chapter3 test1.php)在IE中的显示结果如图3.3所示。从图中可以看出var_dump()函数输出了数组变量的数据类型,包含有数组元素个数,以及每个数组元素的数据及其类型。72创建多维数组例3.2编写代码,利用二维数组输出杨辉三角。(源代码:chapter3test2.php)将数组保存到一维数组的元素中即可创建二维数组,通过类似操作可进一步创建多维数组。将杨辉三角左对齐,如下所示。82创建多维数组可以看出杨辉三角第一列和对角线上数字均为1,其他位置的数字为上一行同列和前一列数字之和。可以将杨辉三角先存入二维数组,然后在网页中显示,代码如下

4、。92创建多维数组例3.2代码在IE中的显示结果如图所示。杨辉三角103创建数值或字符数组range()函数可以返回包含指定范围内数值或字符的数组,其基本格式为113创建数值或字符数组其中参数$start和$end为整数、浮点数或字符,用于指定参数范围。$step指定返回的数组元素之间的增量,默认为1。若$start大于$end,则按从小到大的顺序返回。例如:124使用each()函数操作数组each()函数返回一个包含数组当前元素键/值对应的数组,并将数组指针指向下一个数组元素。each()函数返回的数组包含4个元素,元素下标依次为1、value、0和key。1和value对应元素中为原数组

5、元素的值,0和key对应元素中为原数组元素的下标。如果数组指针指向了数组末尾(最后一个元素之后),则返回FALSE。例3.3使用each()函数遍历数组,代码如下。(源代码:chapter3test3.php)134使用each()函数操作数组代码中将赋值表达式“$b=each($a)”作为while循环条件。在$a的数组指针指向数组元素时,赋值表达式的值与变量$b相同是一个数组,该数组转换为布尔值TRUE,所以执行while循环。在$a的数组指针指向数组末尾时,each()函数返回FALSE,while循环结束。例3.3代码在IE中的显示结果如图3.5所示。145使用list()函数操作数组

6、list()函数用于将数组中各个元素的值赋值给指定的变量,其基本格式为list()函数依次将下标为0、1、2的数组元素赋值为指定的变量。如果数组中的元素没有这些下标,变量值为NULL,PHP会产生一个Notice错误信息。例3.4使用list()函数操作数组,代码如下。(源代码:chapter3test4.php)155使用list()函数操作数组例3.4使用list()函数操作数组,代码如下。(源代码:chapter3test4.php)165使用list()函数操作数组例3.4使用list()函数操作数组,代码如下。(源代码:chapter3test4.php)代码中最后一个“list($

7、x,$y,$z)=$a;”语句执行时,因为数组$a中没有下标为2的元素,所以出错,对应变量$z的值为NULL。175使用list()函数操作数组例3.4代码在IE中的显示结果如图所示。186使用数组指针操作数组PHP提供了数组指针相关的函数来操作数组,下面分别进行介绍。123456next():使数组指针指向下一个元素。prev():使数组指针指向前一个元素。end():使数组指针指向最后一个元素。reset():使数组指针指向第一个元素。current():返回当前数组元素的值。key():返回当前数组元素的下标。196使用数组指针操作数组例3.5使用数组指针操作数组,代码如下。(源代码:c

8、hapter3test5.php)206使用数组指针操作数组例3.5代码在IE中的显示结果如图所示。217数组运算PHP允许数组参与一些运算,下面分别对常见的运算进行介绍。数组合并:如$a+$,表示将数组$b中下标未出现在数组$a中的元素添加到数组$a末尾。相等比较:如$a=$b,表示若数组$a和$b包含相同的键/值对(顺序可以不同),则结果为TRUE,否则为FALSE。全等比较:如$a=$b,表示若数组$a和$b包含相同的键/值对(顺序、数据类型均相同),则结果为TRUE,否则为FALSE。不等比较:如$a!=$b,表示若数组$a不等于数组$b,则结果为TRUE,否则为FALSE。不等比较:

9、如$a$b,表示若数组$a不等于数组$b,则结果为TRUE,否则为FALSE。不全等比较:如$a!=$b,表示若数组$a不全等于数组$b,则结果为TRUE,否则为FALSE。227数组运算例如:238数组键/值操作函数PHP中数组的每个元素均为一个键/值对,键/值操作函数可以使用数组元素的键或值生成新的数组。下面分别对PHP键值操作函数进行介绍。array_keys($a,$value,TRUE/FALSE):若只指定数组变量$a,则返回包含数组全部键名的数组,数组下标为0、1、2。若指定了$value参数,则只返回值等于$value的元素的键名。第3个参数默认为FALSE,若设置为TRUE,

10、则进行全等比较。array_values($a):返回数组$a全部值组成的数组,数组下标为0、1、2。in_array($value,$a,TRUE/FALSE):若数组$a中存在值等于$value的元素,函数返回值为TRUE,否则为FALSE。第3个参数默认为FALSE,若设置为TRUE,且$value为字符串,将区别大小写进行比较。array_flip($a):返回一个数组,数组元素与数组$a中对应元素的键和值正好交换。如果数组$a中存在重复值,则返回的数组中只包含最后出现的值。248数组键/值操作函数例3.6使用PHP键/值操作函数,代码如下。(源代码:chapter3test6.php

11、)258数组键/值操作函数例3.6代码在IE中的显示结果如图所示。269统计有关的数组操作函数下面将对PHP中与统计有关的数组操作函数分别进行介绍。count($a,0/1):返回数组$a包含的元素个数。第二个参数默认为0,表示不统计多维数组。若为1,则要统计多维数组中的元素。array_count_values($a):返回一个数组,数组元素键名为数组$a中元素的值,元素值为数组$a中元素值出现的次数。array_unique($a):返回数组$a中不重复的值组成的数组。array_rand($a,$n):随机返回数组$a中的$n个元素的键名组成的数组。参数$n省略,只返回一个元素的键名。a

12、rray_sum($a):返回数组$a中所有值的和。279统计有关的数组操作函数例3.7使用PHP的各种数组操作函数。(源代码:chapter3test7.php)289统计有关的数组操作函数例3.7代码在IE中的显示结果如图所示。2910数组排序PHP提供了多种方法对数组进行排序。(1)对数组元素值排序下面分别对按数组元素值排序的函数进行介绍。sort($a,flag):按数组元素值从小到大排序。参数flag默认为SORT_REGULAR,表示自动按识别数组元素值的类型进行排序。flag为SORT_NUMERIC时表示按数值排序,为SORT_STRING时表示按字符串排序,为SORT_LOC

13、ALE_STRING时表示根据locale设置对数组元素值按字符串排序。sort()函数排序后,数组元素原有下标丢失,排序后元素的下标按顺序为0、1、2。所有排序函数排序成功返回TRUE,否则返回FALSE。rsort($a,flag):与sort()函数类似,不同的只是rsort($a,flag)函数按从大到小排序。asort($a):按数组元素值从小到大排序,排序后数组元素保留下标。arsort($a):按数组元素值从大到小排序,排序后数组元素保留下标。3010数组排序(2)对数组元素下标排序下面分别对按数组元素下标排序的函数进行介绍。ksort($a):按数组元素下标从小到大排序。krs

14、ort($a):按数组元素下标从大到小排序。natsort()函数按照“自然排序”算法对数组元素值进行排序,即将数组元素值作为字符串,按照从小到大的顺序排序。数组排序后仍保留原来的键/值对关联。natcasesort()函数与natsort()函数类似,只是不区分字母大小写。(3)按自然顺序排序3110数组排序(4)使用自定义函数排序usort($a,函数名):与sort()函数类似,用指定的自定义函数排序。uasort($a,函数名):与asort()函数类似,用指定的自定义函数排序。uksort($a,函数名):与ksort()函数类似,用指定的自定义函数排序。下面分别对PHP允许使用的函

15、数按照用户自定义规则排序进行介绍。指定的排序函数必须有两个参数,依次传入数组的两个元素的比较项。排序函数应在第1个参数小于、等于或大于第2个参数时返回一个小于、等于或大于零的整数。3210数组排序例3.8按数组元素值排序,代码如下。(源代码:chapter3test8.php)3310数组排序例3.8按数组元素值排序,代码如下。(源代码:chapter3test8.php)3410数组排序例3.8按数组元素值排序,代码如下。(源代码:chapter3test8.php)3510数组排序例3.8按数组元素值排序,代码如下。(源代码:chapter3test8.php)3610数组排序例3.8按数

16、组元素值排序,代码如下。(源代码:chapter3test8.php)3711数组集合运算(1)array_slice()array_slice()函数返回连续多个数组元素组成的数组,其基本格式为该函数返回数组$a中由$offset和$length确定的数组元素组成的数组。$offset为正数表示从数组的第$offset+1个数组元素开始取,$offset为负数表示从数组的倒数第|$offset|(绝对值)个数组元素开始取。$length若省略,则取到数组末尾。$length为正数时,从指定位置开始取$length个数组元素,直到数组末尾。$length为负数时,从指定位置开始取到数组倒数第|$length|+1个元素。第4个参数默认为FALSE,表示不保留键名,为TRUE时表示保留键名。PHP提供了一系列函数,用于对数组执行集合运算。3811数组集合运算(2)array_splice()array_splice()函数与array_slice()函数类似,在数组中选择一部分数组返回。区别在于:array_splice()函数会从原数组中删除选中的部分,并用指定的参数替代。原数组和返回

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育专区 > 计算机类

若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理!

copyright@2008-2024 兔兜文库 网站版权所有

鲁公网安备37072502000182号  ICP备案号:鲁ICP备2021021588号-1  百度保障