摘要:默认接受两个参数,第一个为用户自定义函数名称,第二个参数为数组。
array_map 默认接受两个参数,第一个为用户自定义函数名称,第二个参数为数组。可以根据用户自定义函数的处理参数个数,来扩充array_map的第2+个参数
先来两个平常数组,用array_map处理一个数组
$arr1=array("a","b","c"); $arr2=array("x","y","z"); $z=array_map(create_function("$item", "return "i am ".$item ;"), $arr1);
输出$z结果
array(3) { [0]=> string(6) "i am a" [1]=> string(6) "i am b" [2]=> string(6) "i am c" } [Finished in 0.1s]
上面的例子等价于如下代码:
function tmp($arr1){return "i am ".$arr1;} $b=array_map("tmp",$arr1);
输出$b结果:
array(3) { [0]=> string(6) "i am a" [1]=> string(6) "i am b" [2]=> string(6) "i am c" } [Finished in 0.1s]
参考下面两个数组列子
再次重复:
create_function 两个参数都是字符串 string args string code,分别代表参数列表和函数体
$arr1=array("a","b","c"); $arr2=array("x","y","z"); $z=array_map(create_function("$arr1,$arr2", "return "i am ".$arr1." ".$arr2 ;"), $arr1,$arr2);
输出$z结果:
array(3) { [0]=> string(8) "i am a x" [1]=> string(8) "i am b y" [2]=> string(8) "i am c z" }
以上等价于
function tmp($arr1,$arr2){return "i am ".$arr1." ".$arr2;} $b=array_map("tmp",$arr1,$arr2);
输出$b结果
array(3) { [0]=> string(8) "i am a x" [1]=> string(8) "i am b y" [2]=> string(8) "i am c z" } [Finished in 0.1s]
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/22173.html
摘要:前言在开发过程中,通常会遇到很多一对一数据的处理情况。关于可以看我的另一篇文章多维数组中的。最佳实践这一次,我们用到了其他两个函数。勘误感谢评论区对文章内容错误之处的指出。 前言 在开发过程中,通常会遇到很多 一对一 数据的处理情况。而很多时候我们会要取到的是一个列表,然后列表的单条记录的对应另外一张表,来实现业务。比如下面的商品信息 和 商品详情 两个表,这里为了演示只是使用了基础...
摘要:前言我自己用此类回调函数,来替代纯粹是用为代码的简洁性,让代码更好看。我有点代码小洁癖当迭代处理一个一维索引数组时,在回调函数内是无法获取到当时元素索引的。目的在回调体内获取迭代关联数组的下标值。 前言:我自己用此类回调函数,来替代 foreach 纯粹是用为代码的简洁性,让代码更好看。(我有点代码小洁癖~) 1、array_reduce 当迭代处理一个一维索引数组时,在回调函数内是无...
摘要:中对多维数组特定列的提取,是个很常用的功能,正因为如此,在版本之后,添加了一个专用的函数。变种方法如下,意为把数组的每一项值的开头值移出,并获取移除的值作为新数组。注意此时新数组的键仍是原数组的键,如下。 PHP中对多维数组特定列的提取,是个很常用的功能,正因为如此,PHP在5.5.0版本之后,添加了一个专用的函数array_column()。当然,如果你的PHP版本低于5.5.0,就...
阅读 3478·2023-04-25 22:45
阅读 1281·2021-11-11 16:54
阅读 2789·2019-08-30 15:44
阅读 3188·2019-08-30 15:44
阅读 1645·2019-08-30 13:55
阅读 940·2019-08-29 18:45
阅读 1194·2019-08-29 17:25
阅读 1006·2019-08-29 12:59