php基础语法4

1、数组

数组是一种复合类型,存放在内存中的堆区,里面可以保存多个不同类型的数据,而且长度默认的是没有限制!

数组的组成

数组,是由元素(element)组成的,每个元素都是数组的中的一个成员!

元素的名字,叫作下标(index),也叫作键(key),元素的值,叫作值(value)

所以,数组中的一个元素也叫作一个“键值对”(key/value)

创建数组

显式创建

就是利用array显式的创建:

隐式创建

其实就是利用数组的中括号语法创建:

其中,键名可以缺省,系统会自动加上索引下标!

2、数组的指针

在每一个数组的内部,都有一个数组元素的指针(看不见摸不着),该指针负责指向数组内的某个元素,那么这个被指向的元素,就叫作“当前元素”!

典型的,如果我们定义了一个数组然后什么都没做的话,此时数组的指针就指向该数组的第一个元素!

指针相关函数:

key():语法是:key(数组名),作用:获取该数组当前元素的键!

current():语法是:current(数组名),作用:获取该数组当前元素的值!

next():语法是:next(数组名),作用:将数组的指针下移一位

reset():语法是:reset(数组名),作用:重置数组的指针(将数组的指针重新指向第一个元素)

prev():向上移动数组指针,previous(先前的)

end():reset是将数组的指针移动到第一个元素,那么end也是重置指针,不过是重置到最后一个元素!

3、数组常用函数

each():同时兼备了key、current、next函数的功能,既可以获取到当前元素的值,也能获取到当前元素的键!

注意each的返回值:

1),  返回的是一个数组,而且是一个索引和关联并存的混合数组

2),  在原有数组的当前元素的基础上,重新创建了一个新的数组,其中原数组元素的值和键都是新数组的值,并为其分别创建了索引下标和关联下标

其中索引的:$each[0]代表原数组当前元素的键,$each[1]代表原数组当前元素的值

其中关联的:$each[‘key’]代表原数组当前元素的键,$each[‘value’]代表原数组当前元素的值

list():也是一个系统函数,它可以利用一个索引数组,一次性的为多个变量赋值!

while+each+list遍历:

count():计算并返回数组中的元素的个数或者对象中的属性的个数!另外,count还有第二个参数,默认为0或false,如果是1或true,则支持递归统计(内部数组的值也会统计)

range():使用range来定义数组,有三个参数:1)、开始字符或数字,2)、结束的字符或数字3)、步伐:一次跳转几个字符或数字

array_merge():array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面(重新索引)。即使索引下标没有冲突,一样是重新索引。如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引

另外,运算符"+"也可以实现数组的合并,规则:无论是索引数组还是关联数组,都会直接舍弃后面重复下标的元素!

array_rand():这里的rand是随机的意思,作用是随机抽取数组内的几个元素的键!并返回一个索引数组!需要两个参数:第一个是一个数组名,第二个抽取的个数

shuffle():作用是打乱一个数组,而且是直接在原数组上进行打乱!而且会重新生成索引下标!

max()和min():还可以获得数组内的最大值和最小值!

array_keys():获取所有元素的键,返回一个索引数组!

array_values():获取所有元素的值,返回一个索引数组!

array_combine():有两个参数,都是数组,拿第一个数组的值作为新数组的键,第二个数组的值作为新数组的值重新组合成一个新数组!

array_flip():交换数组的键和值!

in_array():判断一个数据是否是某个数组里面元素的值!返回一个布尔值!需要两个参数:第一个是某个具体的数据,第二个是一个数组名

array_key_exists():判断一个数组内是否存在某个键,也返回一个布尔值,也需要两个参数:第一个是具体的数据,第二个是一个数组名

array_search():作用是搜索数组内的某个元素的值,并返回其下标值!至少需要两个参数:第一个参数是一个具体的值,第二个参数是一个数组名

array_chunk():将一个数组分割成多个数组,其中每个数组的单元数目由 第二个参数 决定。最后一个数组的单元数目可能会少于 第二个参数 个。

implode():作用是将一个数组元素的所有的值,利用一个指定的分隔符连接成一个字符串!需要两个参数:第一个是分割符,这里可以省略,如果省略,那就是没有分隔符,第二个是一个数组名;

explode():作用是将一个字符串,利用其中的分隔符,将其分割成多个部分,形成一个数组!需要两个参数:第一个参数是一个分隔符,第二个参数是一个字符串!

extract():将数组中的每一个元素都变成一个变量,其中变量的名字就是数组元素的键,变量的值就是数组元素的值!常见的是,可以将一些数据放到一个数组内,然后作为函数的参数传递到一个函数内,然后在函数内把这个数组extract掉,从而产生了需要的变量!

compact():利用多个变量,形成一个数组,很显然,数组元素的键就是变量的名字,数组元素的值就是变量的值!使用场景:如果一个函数的返回值有很多个,可以把所有的返回值放到一个数组里面,然后返回这个数组就行了!

array_map():有两个参数,第一个是一个函数,第二个是一个数组或是一个数组列表,使后面的数组每一个单元都经过第一个函数的处理,返回处理过后的数组

array_push()将一个或多个数据压入数组的尾部!

array_pop()将数组的最后一个数据弹出

array_unshift()从数组的前面加入数据

array_shift()从数组的前面弹出数据

sort():对数组中的元素进行升序排序,也就是从低到高!排序之后,会丢失原数组的键,重新生成一个索引数组!

asort():也是升序排序,只是排序后会保留以前的键值对!

rsort():这里的r就是reverse的意思!对数组元素的值进行降序排序,也就是从高到低:排序之后会重新生成一个索引数组!

arsort():也是降序排序,只是会保留以前的键值对!

时间: 2024-10-16 05:53:21

php基础语法4的相关文章

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

关于JS脚本语言的基础语法

JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法:1.所有的字符全都是英文半角的:2.大部分情况下每条语句结束后要加分号:3.每一块代码结束后加换行:4.程序前呼后应:

前端学PHP之正则表达式基础语法

前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述.正则表达式有三个作用:1.匹配,也常常用于从字符串中析取信息:2.用新文本代替匹配文本:3.将一个字符串拆分为一组更小的信息块.本文将详细介绍PHP中的正则表达式基础语法 [注意]关于javascript的正则表达式的详细信息移步至此 历史 在PHP中有两套正则表达式函数库,两者功

java 基础语法

第一周接触java基础语法,上课听得头痛,还是半懂不懂,放学后讲的啥子都忘了. 这是老师给的周末作业: 1.输入长与宽计算长方形面积与周长.(用精度类型计算)2.输入一个学生三科成绩,计算平均分.3.输入int型市场价格,购买价格,计算差额,差额显示为单精度浮点型.4.42页第二,计算房贷那道题.5.输入一个学生成绩,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.6.题目:输入三个整数x,y,z,请把这三个数由小到大输出.程序分析:我们想办法把最小的数放到x

jQuery安装和基础语法

1.安装 从 jquery.com 下载 jQuery 库 <script src="jquery-1.10.2.min.js"></script> 从 CDN 中载入 jQuery <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> 许多用户在访问其他站点时,已经从百度.又拍云.新浪.谷歌或微软加载过 jQuery.所有结

javascript基础语法——词法结构

× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇——词法结构 与java关系 关于javascript有这样一个说法,java和jav

【MOOC笔记】JSP基础语法

JSP 全名:Java Server Pages.java服务器端页面. 本质上是一个简化的Servlet设计,实现了在java中使用HTML标签. JSP是一种动态网站开发标准,与Servlet一样,在服务器端执行. 常用动态网站开发技术: JSP:JAVA平台,安全性高,适合开发大型.企业级WEB应用程序. ASP.NET:基于可视化组件开发,安全性.跨平台性差,最好用微软配套系统. PHP:适合中小型企业WEB应用开发,黄金开发组合:Linux+Apache+MySQL+PHP JSP基础

IOS_OC_基础语法

1.YES与NO Object-c 提供了 BOOL 类型, 但这个BOOL 类型和 C++里的并不一样: 在C++里一切非 0 值的东西都 为 true,而为 0 值的为 false.但是 Object-c 里 1 为 true 并被宏定义为 YES=1,0 为 false 并被宏定义为 NO=0. + (BOOL)isEquals:(int)x with:(int)y { return x - y; } if ([Provider isEquals:10 with:1021]) {// ==

less以及SCSS基础语法

less 1.注释: //这种注释不能够编译到CSS 文件中 /*这种注释 能够编译到CSS 文件中*/ 2.less 的基础语法 (1).声明变量: @变量名 : 变量值 使用变量: @变量名 >>>变量使用的基本原则: 多次频繁出现的值,后期需要统一修改的值,牵扯到数值运算的值,推荐使用变量 >>>less 中的变量类型 ①数值类: 不带单位的 123, 带单位的 1px ②字符串类型: 不带引号的 red #FF0000 带引号的"hahhaha&quo

java学习总结--2.基础语法

2.java基础语法  java基础语法和c语言有很多相同之处,因为java'作为后起之秀,借鉴了很多C.C++的语法 1.关键字goto和const不能在java中使用,是为了方便C和C++转换为java代码,如果转换的C和C++包含这两个单词会报编译错误   三个保留字false true null 2.标示符 1.标示符不能为关键字和保留字 2.只能包含字母数字下划线和美元符号$ 3.不能以数字开头 4,.区别大小写,没有规定长度 约定俗成的规则 首字母小写 变量名第一个单词首字母小写后面