资讯专栏INFORMATION COLUMN

array_map & create_function 处理两个数组

betacat / 2546人阅读

摘要:默认接受两个参数,第一个为用户自定义函数名称,第二个参数为数组。

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

相关文章

  • PHP & MySQL 「数据关联一对一」的最佳实践

    摘要:前言在开发过程中,通常会遇到很多一对一数据的处理情况。关于可以看我的另一篇文章多维数组中的。最佳实践这一次,我们用到了其他两个函数。勘误感谢评论区对文章内容错误之处的指出。 前言 在开发过程中,通常会遇到很多 一对一 数据的处理情况。而很多时候我们会要取到的是一个列表,然后列表的单条记录的对应另外一张表,来实现业务。比如下面的商品信息 和 商品详情 两个表,这里为了演示只是使用了基础...

    时飞 评论0 收藏0
  • array_map 等php回调函数使用问题(关联数组下标获取)

    摘要:前言我自己用此类回调函数,来替代纯粹是用为代码的简洁性,让代码更好看。我有点代码小洁癖当迭代处理一个一维索引数组时,在回调函数内是无法获取到当时元素索引的。目的在回调体内获取迭代关联数组的下标值。 前言:我自己用此类回调函数,来替代 foreach 纯粹是用为代码的简洁性,让代码更好看。(我有点代码小洁癖~) 1、array_reduce 当迭代处理一个一维索引数组时,在回调函数内是无...

    shiweifu 评论0 收藏0
  • PHP提取多维数组指定一列的方法大全

    摘要:中对多维数组特定列的提取,是个很常用的功能,正因为如此,在版本之后,添加了一个专用的函数。变种方法如下,意为把数组的每一项值的开头值移出,并获取移除的值作为新数组。注意此时新数组的键仍是原数组的键,如下。 PHP中对多维数组特定列的提取,是个很常用的功能,正因为如此,PHP在5.5.0版本之后,添加了一个专用的函数array_column()。当然,如果你的PHP版本低于5.5.0,就...

    roundstones 评论0 收藏0
  • PHP_数组

    摘要:李寻欢索引数组索引数组,元素的值和下标不存在逻辑关系,而下标只表示值索引位置。键和值,同时向下移动指针获得元素信息,返回的是,关联和索引数组其中关联数组部分。 数组 数据由元素组成,元素由键和值组成 数组分类 关联数组关联数组,元素的下标与元素的值存在逻辑上的关系,称之为关联数组。指的是,键和值之间存在管理。 $a1 = array(name => 李寻欢, age => 34); ...

    zone 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<