PHP链表操作方法
链表可以在单个变量名中存储一个或多个值。 下面小编给大家整理了PHP链表的操作方法,快来学习吧!
PHP链表操作方法
链表键和值
数组值($arr); 获取链表的值
array_keys($arr); 获取链表的键值
array_flip($arr); 链表中的值与键值互换(如果有重复,上面的会被后面的覆盖)
in_array("apple",$arr);检索链表中的apple
array_search("苹果",$arr); 在链表中搜索apple,如果有则返回键值
array_key_exists("苹果",$arr); 检索字段中是否存在给定的键值
isset($arr[apple]):检索给定的键值是否存在于链表中
链表的内部指针
当前($arr); 返回链表中的当前单位
pos($arr); 返回链表中的当前单位
密钥($arr); 返回链表中当前单元的键值
上一个($arr); 将链表中的内部指针倒回 1
下一个($arr); 将链表中的内部指针向前连接一
结束($arr); 将链表中的内部指针指向最后一个单元
reset($arr; 将链表中的内部指针指向第一个单元
每个($arr); 会返回链表当前元素的key/value构造的链表,并使链表的指针向前移动一位
列表($key,$value)=每个($arr); 获取链表当前元素的key和value
链表和变量之间的转换
提取($arr); 用于将链表中的元素转换为变量并导出到当前文件,key值作为变量名,value作为变量值
注意:(第二个参数很重要,可以参考使用指南) use echo $a;
紧凑(var1,var2,var3); 使用给定的变量名称创建一个链接列表
2. 数组的切分和填充
链表分割
array_slice($arr,0,3); 可以取出链表中的一段,该函数忽略键值
array_splice($arr,0,3, array("黑色","栗色")); 可以取出链表中的一段,与上一个函数的区别是返回的序列是从原链表中删除的
拆分多个字段
array_chunk($arr,3,TRUE); 可以将一个链表拆分成多个,TRUE是保留原链表的键值
清单填写
array_pad($arr,5,'x'); 组成一个指定宽度的链表
3. 数组和栈
array_push($arr,"苹果","梨"); 将一个或多个元素压入链表栈尾(压入栈),并返回压入栈的元素数量
array_pop($arr); 将链表栈的最后一个元素弹出(出栈)
4. 数组和队列
array_shift($arr); 将链表中第一个元素移出并作为结果返回(链表宽度减1php获取数组的长度,其他元素向前连接一位,数字键值从零技术改变,文字键值保持不变)
array_unshift($arr,"a",array(1,2)); 在链表开头插入一个或多个元素
5.回调函数
array_walk($arr, '函数', '单词'); 使用用户函数处理链表中的每个成员(第三个参数传递给反弹函数函数)
array_mpa("函数", $arr1, $arr2); 可以处理多个字段(当使用两个或多个链表时,它们的宽度应该相同)
array_filter($arr,"函数"); 使用bounce函数过滤链表中的每个元素。 如果bounce函数为TRUE,则链表的当前元素将包含在返回的结果链表中,并且链表的key值保持不变
array_reduce($arr,"函数","*"); 转换为单值函数(*为链表的第一个值)
6. 数组排序
按元素值对链表进行排序
排序($arr); 从小到大排序(第二个参数是按照哪种方式排序)忽略键值的链表排序
rsort($arr); 从大到小排序(第二个参数是按照哪种方式排序)忽略键值的链表排序
usort($arr,"函数"); 使用用户定义的比较函数对链表中的值进行排序(函数中有两个参数,0表示相等,负数表示第一个小于第二个,正数表示第一个大于第二个)忽略关键值。 列表排序
排序($arr); 从小到大排序(第二个参数是按照哪种方式排序)以保持键值的链表排序
arsort($arr); 从大到小排序(第二个参数是按照哪种方式排序)以保持键值的链表排序
uasort($arr, "函数"); 使用用户定义的比较函数对链表中的值进行排序(函数中有两个参数,0表示相等,负数表示第一个小于第二个,正数表示第一个大于第二个)保留键的排序链表
按键值对链表进行排序
ksort($arr);按照键值随机顺序排序
krsort($arr); 按键值倒序排序
uksort($arr, "函数"); 使用用户自定义的比较函数对链表中的键值进行排序(函数中有两个参数,0表示相等,负数表示第一个小于第二个,正数表示第一个大于第二个)
自然排序 排序
natsort($arr); 自然排序(忽略键值)
natcasesort($arr); 自然排序(忽略大小写、忽略键值)
7. 数组的估计
链表元素之和
array_sum($arr); 对链表中的所有元素求和
链表合并
array_merge($arr1, $arr2); 合并两个或多个字段(相同字符串键值,前面覆盖后面,相同数字键值,后面一个不会被覆盖,而是追加到一边)
“+”$arr1+$arr2; 对于相同的key值,只保留最后一个
array_merge_recursive($arr1, $arr2); 递归合并操作,如果链表有相同的字符串键值,则将该值合并成一个链表。 如果一个值本身是一个链表,则会根据对应的键值合并到另一个链表中。当字段有相同的字段键值时,后面的值不会覆盖原来的值,而是追加到前面
差异字段集
array_diff($arr1, $arr2); 返回差异结果列表
array_diff_assoc($arr1, $arr2, $arr3); 返回差异集结果列表,同时也比较key值
链表的交集
array_intersect($arr1, $arr2); 返回交集结果链表
array_intersect_assoc($arr1, $arr2); 返回交集结果链表,键值也进行比较
8.其他链表函数
范围(0,12); 创建包含指定范围单元格的链接列表
array_unique($arr); 删除链表中的重复值,新的链表中会保留原来的键值
array_reverse($arr,TRUE); 返回一个链表,其单元顺序与原始链表相反,如果第二个参数为TRUE则保留原始键值
//srand((float)microtime()*10000000); 随机种子触发
array_rand($arr,2); 从链表中随机取出一个或多个元素
随机播放($arr); 打乱字段的顺序
此类函数允许以多种方式操作字段并与之交互。 字段的本质是存储、管理和操作一组变量。
PHP 支持一维和多维链表,可以由用户创建或由其他函数创建。 有一些特定的数据库处理函数可以从数据库查询生成链接列表,以及返回字段的函数。
array_change_key_case—返回字符串键值全部大写或小写的字段
array_chunk——将一个链表分割成多个
array_combine—创建一个链表,其中一个列表中的值作为其键,另一个列表中的值作为其值
array_count_values——统计字段中所有值出现的次数
array_diff_assoc—具有索引检测的估计字段的差异集
array_diff_key—使用键值比较估计字段的差异
array_diff_uassoc—使用用户提供的反弹函数进行索引检测来估计链表的差异集
array_diff_ukey—利用bounce函数比较key值来估计链表的差异集
array_diff—计算链表的差异
array_fill_keys—用值填充数组,指定键
array_fill — 用给定值填充链表
array_filter——使用bounce函数过滤链表中的元素
array_flip — 交换链表中的键和值
array_intersect_assoc - 通过索引检测估计链表的交集
array_intersect_key - 使用键值比较估计链表的交集
array_intersect_uassoc—通过索引检测估计链表的交集php获取数组的长度,使用bounce函数比较索引
array_intersect_ukey—使用bounce函数比较键值来估计链表的交集
array_intersect — 计算链表的交集
array_key_exists——检查给定的键值或索引是否存在于链表中
array_keys—返回链表中的所有键值
array_map - 将反弹函数应用于给定链表的单元格
array_merge_recursive—递归合并一个或多个字段
array_merge — 合并一个或多个字段
array_multisort—对多个字段或多维字段进行排序
array_pad — 用值将字段填充到指定宽度
array_pop—弹出字段的最后一个单元(从堆栈中弹出)
array_product — 计算字段中所有值的乘积
array_push—将一个或多个元素推入字段末尾(堆栈)
array_rand——从链表中随机取出一个或多个元素
array_reduce — 使用弹跳函数迭代地将链表减少为单个值
array_reverse—返回元素顺序相反的字段
array_search——在链表中搜索给定的值,成功则返回对应的键值
array_shift—将字段开头的单元移出字段
array_slice——从链表中取出一部分
array_splice——删除链表的一部分并用其他值替换
array_sum——计算字段中所有值的总和
array_udiff_assoc—使用索引检测来估计链表的差异,并使用bounce函数来比较数据
array_udiff_uassoc—使用索引检测来估计链表的差异,并使用bounce函数来比较数据和索引
array_udiff—将数据与反弹函数进行比较以估计链表的差异
array_uintersect_assoc—用索引检测估计链表的交集,用bounce函数比较数据
array_uintersect_uassoc—用索引检测估计链表的交集,用bounce函数比较数据和索引
array_uintersect — 计算链表的交集,将数据与弹跳函数进行比较
array_unique—从链表中删除重复值
array_unshift — 在链表的开头插入一个或多个单元格
array_values—返回链表中的所有值
array_walk_recursive — 递归地将用户函数应用于链表的每个成员
array_walk—将用户函数应用于链表的每个成员
array——创建一个新的链表
arsort—对链表进行反向排序并维护索引关系
asort — 对链表进行排序并维护索引关系
紧凑 - 创建一个包含变量名称及其值的链接列表
count - 计算链接列表中的单元格数量或对象中的属性数量
current—返回链表中的当前单元格
each——返回链表中当前的键/值对,并将链表指针向前移动一步
end——将链表的内部指针指向最后一个元素
extract——将变量从链表导出到当前符号表
in_array—检查链表中是否存在值
key——从关联链表中获取键值
krsort—按键值对链表进行反向排序
ksort - 根据键值对链表进行排序
list——将链表中的值赋给一些变量
natcasesort——使用“自然排序”算法对链表进行排序,不区分大小写字母。
natsort—使用“自然排序”算法对链表进行排序
next——将链表中的内部指针前进一位
pos—current() 的另一个名称
prev——将链表的内部指针倒回一个位置
range - 创建一个包含指定范围内的单元格的链接列表
重置——将链表的内部指针指向第一个元素
rsort — 以相反顺序对链表进行排序
shuffle——打乱链表
sizeof 的另一个名字——count()
sort——对链表进行排序
uasort — 使用用户定义的比较函数对链表中的值进行排序并维护索引关联
uksort—使用用户定义的比较函数对链表中的键进行排序
usort——使用用户定义的比较函数对链表中的值进行排序
【PHP链表操作方法】相关文章:
PHP链表函数知识10-13
PHP链表的排序09-09
PHP链表基本介绍09-06
PHP常用链表和对象字段08-19
PHP链表函数知识10-16
简单PHP链表函数介绍10-03
PHP新手如何学习字段09-27
PHP链表排序方法总结08-25
PHP多维链表的排序问题08-24
发表评论