遍历数组
通过foreach遍历数组
- 只要键值:
foreach($数组名称 as $val){循环体;}
- 既要键名又要键值:
foreach($数组名称 as $key=>$val){循环体;}
注意
- 可以通过:和endforeach代替{}
- PHP7中foreach的改变
- foreach循环对数组内部指针不再起作用
- 按照值进行循环的时候,foreach是对该数组的值的拷贝
- 按照引用进行循环的时候,在循环体内修改数组对循环有影响
相关资料
通过指针函数遍历数组
key($array)
current($array)
next($array)
prev($array)
end($array)
reset($array)
通过each()和list()函数遍历数组
list($array)
:将下标连续的从0开始的索引数组赋值给相应的变量
each($array)
:得到当前指针所在位置的键值对,返回的是数组,包含4个部分;并且将指针向下移动一位(警告:本函数已自 PHP 7.2.0 起废弃。强烈建议不要使用本函数。
)
数组函数库
创建数组操作
range($min,$max[,$step=1]):快速创建下标连续的索引数组
compact($varname,$varname...):快速创建关联数组
array_fill($start_index,$num,$value):用给定的值填充数组
array_fill_keys($keys,$value):使用指定的键和值填充数组
array_combine($keys,$values):创建一个数组,用一个数组的值作为其键名,另外一个值作为其键值
键值相关操作
count($var[,$mode=COUNT_NORMAL])/sizeof():计算数组中的单元数目或对象中的属性个数
array_keys($array):取得数组的键名作为下标连续的索引数组返回
array_values($array):取得数组的键值作为下标连续的索引数组返回
array_flip($array):交换数组中的键名和键值
in_array($search,$array[,$strict]):检测数组中是否存在某个值
array_search($search,$array[,$strict]):在数组中搜索给定的值,如果成功则返回相应的键名
array_key_exists($search,$array):检查给定的键名或索引是否存在于数组中
array_reverse($array[,$preserve_keys=false]):数组倒置
shuffle($array):打乱数组的元素
array_rand($array[,$num_req=1]):随机取出数组的键名
array_unique($array[,$sort_flag=SORT_STRING]):移除数组中重复的值
array_sum($array):统计数组中元素值的总和
array_product($array):计算数组中所有值的乘积
array_count_values($array):统计数组中值出现的次数
extract($array[,$extract_type=EXTR_OVERWRITE[,$prefix=null]]):从数组中将变量导入到当前的符号表
array_pad($array,$size,$value):用值将数组填补到指定长度
数组指针函数
key($array):得到当前指针所在位置元素的键名
current($array)|pos($array):得到当前指针所在位置元素的键值
next($array):将数组指针向下移动一位,并且返回当前指针所在位置元素的键值
prev($array):将数组指针向上移动一位,并且返回当前指针所在位置元素的键值
end($array):将数组指针移动倒数组的末尾,并且返回当前指针所在位置元素的键值
reset($array):将数组指针移动到数组的开始,并且返回当前指针所在位置元素的键值
each($array):返回数组中当前的键值对,并将数组指针向下移动一位
list($var,...):将数组中元素的值赋给对应的变量
array_unshift($array,$value...):在数组开头插入一个元素或者多个元素
array_shift($array):弹出数组的第一个元素
array_push($array,$value...):在数组末尾压入一个元素或者多个元素
array_pop($array):弹出数组的最后一个元素
数组的排序函数
sort($array[,$sort_flag=SORT_REGULAR]):对数组的键值按照升序排列,不保留键名
rsort($array[,$sort_flag=SORT_REGULAR]):对数组键值按照降序排列,不保留键名
asort($array[,$sort_flag=SORT_REGULAR]):对数组键值按照升序排列,保留键值对关系
arsort($array[,$sort_flag=SORT_REGULAR]):对数组键值按照降序排列,保留键值对关系
ksort($array[,$sort_flag=SORT_REGULAR]):对数组的键名按照升序排列
krsort($array[,$sort_flag=SORT_REGULAR]):对数组的键名按照降序排列
natsort($array):用自然排序法排序
natcasesort($array):用自然排序算法对数组进行不区分大小写字母的排序
array_multisort($arr[,$arg=SORT_STRING...]):对多个数组或多维数组进行排序
数组的交集与差集
array_diff($array1,$array2[...]):计算数组的差集
array_diff_assoc($array1,$array2[,...]):带索引检查计算数组的差集
array_intersect($array1,$array2[...]):计算数组的交集
array_intersect_assoc($array1,$array2[...]):带索引检查计算数组的交集
数组的拆分与合并
array_slice($array,$offset[$length=null[,$preserve_keys=false]]):截取数组
array_splice($array,$offset[,$length=0,$replacement]]):将数组中一部分去掉并用其它值替代
array_merge($arr1[,$arr2...]):合并数组
array_chunk($array,$size[,$preserve_keys=false]):将一个数组分割成多个
array_column($array,$column_key[,$index_key]):返回数组中指定的一列
实战演练
简易留言板 在线测试
本文是全系列中第19 / 24篇:PHP快速入门
- 1.1.1 PHP课程介绍
- 1.1.2 代码编辑器的安装和PHP环境的配置
- 1.1.3 PHP基础语法
- 1.2.1 PHP中的变量
- 1.2.2 PHP中的数据类型
- 1.2.3 PHP中的数据类型转换与比较
- 1.3.1 PHP中的常量
- 1.3.2 PHP中的预定义变量
- 1.4 PHP中的表达式与运算符
- 1.5 PHP中的流程控制
- 2.1.1 PHP函数的结构
- 2.1.2 PHP函数的参数
- 2.1.3 PHP复杂函数
- 2.1.4 PHP函数实战
- 2.2.1 PHP字符串函数库简介
- 2.2.2 PHP字符串函数实战练习
- 2.3 PHP数组简介和定义方式
- 2.4.1 PHP数组的使用、转换、运算符
- 2.4.2 PHP数组的应用
- 3.1.1 PHP中SESSION的学习
- 3.1.2 PHP中COOKIE的学习
- 3.2.1 PHP文件目录函数库简介/操作/实战
- 3.2.2PHP文件操作相关的常用函数与类的封装
- 3.3 深入浅出MySQL数据库