当前位置: 首页 > 后端技术 > PHP

PHP数组相关函数Demo及归纳

时间:2023-03-29 15:19:44 PHP

Demo源码3年未运行,内置PHPArray函数。跑完这一趟才发现平时得意洋洋的算法居然原生实现了,顿时有种被打脸的感觉。希望现在弥补还来得及。以下是从Demo中摘录的归纳对比片断,希望对您有所启发。祝你好运。/***计算数组差值的8个函数*todou有什么用?*只比较键:*array_diff_key()通过键比较得到数组差*array_diff_ukey()通过键比较得到数组差,键计算使用用户自定义函数*只比较值:*array_diff()通过值比较得到数组差*array_udiff()通过value比较得到数组差,value计算使用用户自定义函数*同时比较key和value:*array_diff_assoc()同时比较key和value得到数组差*array_diff_uassoc()同时比较key和value得到数组的差集,key计算使用用户自定义函数*array_udiff_assoc()同时比较key和value得到数组的差集,value计算使用用户-definedfunction*array_udiff_uassoc()同时比较key和value得到数组差集,key和value使用自定义函数计算*diff表示比较value*后面跟着key,表示比较key*后面跟着assoc,表示同时比较key和value*udiff表示value比较使用自定义函数*ukey表示key与使用自定义函数比较*uassoc表示key与使用自定义函数*//***8个计算数组交集的函数*todou有什么用?*只比较键:*array_intersect_key()通过键比较得到数组的交集*array_intersect_ukey()通过键比较得到数组的交集,键的计算使用用户自定义函数*只比较值:*array_intersect()通过比较得到数组值交集*array_uintersect()通过比较值获得数组的交集。Value计算使用用户自定义函数*同时比较key和value:*array_intersect_assoc()同时比较key和value得到数组的交集*array_intersect_uassoc()通过比较key和value得到数组的交集at同时交集,key计算使用自定义函数*array_uintersect_assoc()同时比较key和value得到数组的交集,value计算使用自定义函数*array_uintersect_uassoc()同时比较key和value得到数组的交集,key和value的计算使用用户自定义函数*diff表示比较value*后跟key,表示比较key*后跟assoc,表示比较key和值同时*udiff表示使用自定义函数比较值*ukey表示使用自定义函数比较键*uassoc表示比较键使用自定义function*下面只展示3个最基本的求交集合的函数,其他5个省略*//***一共9个排序函数*只对键进行排序*ksort*krsort*usort*只对值进行排序*sort*rsort*usort*同时对键和值排序*asort*arsort*uasort*k按k排序*r逆序*同时对键和值排序*u按用户定义的函数排序*/例如/***array_filter*使用回调函数过滤数组中的元素*1.返回结果保留key*2.三个参数,input_array,callback,flag*3.input_array是要过滤的函数*4.callback是用户自定义的过滤函数*5.flag有两个值*ARRAY_FILTER_USE_BOTH:对应的回调有两个参数*ARRAY_FILTER_USE_KEY:对应的回调只有一个参数*6.这个函数使用起来非常灵活,可以做很多有趣的事情,比如去除数组中的重复值和*@returnarray*@authorSch0ng@163.com*/$arrayFilter=function(){$input_array=['foo',false,-1,null,'',[],0,0.00];$filtered_array=array_filter($input_array,function($v,$k){return$v;},ARRAY_FILTER_USE_BOTH);返回$filtered_array;};self::printR($arrayFilter);