这两个函数都可以快速查找到指定元素中的值,比自己写的循环和判断来得更加高效以后查找数组的值就是用这两个函数吧,当然如果判读的数组元素只有一两个而已就自己写都方便
header("Content-Type:text/html;charset=utf-8"); $a=array( array(‘name‘=>‘hah‘,‘sex‘=>‘女‘,‘age‘=>19), array(‘name‘=>‘嘎嘎‘,‘sex‘=>‘男‘,‘age‘=>20), array(‘name‘=>‘嘿嘿‘,‘sex‘=>‘女‘,‘age‘=>19), array(‘name‘=>‘呵呵‘,‘sex‘=>‘女‘,‘age‘=>19), array(‘name‘=>‘keke‘,‘sex‘=>‘男‘,‘age‘=>19) ); function filter($arr){ return $arr[‘sex‘]; } print_r(array_map(‘filter‘,$a)); //这里你将会返回全部都是性别的信息 Array ( [0] => 女 [1] => 男 [2] => 女 [3] => 女 [4] => 男 ) /*--------------------------------------------------------------*/ print_r(array_filter($a,‘filter‘)); //这里会输出原来的数组 array( array(‘name‘=>‘hah‘,‘sex‘=>‘女‘,‘age‘=>19), array(‘name‘=>‘嘎嘎‘,‘sex‘=>‘男‘,‘age‘=>20), array(‘name‘=>‘嘿嘿‘,‘sex‘=>‘女‘,‘age‘=>19), array(‘name‘=>‘呵呵‘,‘sex‘=>‘女‘,‘age‘=>19), array(‘name‘=>‘keke‘,‘sex‘=>‘男‘,‘age‘=>19) ); /*--------------------------------------------------------------*/ function filter($arr){ return $arr[‘sex‘]==‘男‘; } print_r(array_map(‘filter‘,$a)); //这里将会输出的性别与上面条件比较的布尔值 Array ( [0] => 1 [1] => [2] => 1 [3] => 1 [4] => ) /*--------------------------------------------------------------*/ print_r(array_filter($a,‘filter‘));//这里输出如下 Array ( [1] => Array ( [name] => 嘎嘎 [sex] => 男 [age] => 20 ) [4] => Array ( [name] => keke [sex] => 男 [age] => 19 ) )
本文出自 “Freax” 博客,请务必保留此出处http://freax.blog.51cto.com/6614733/1394800
array_map() ,array_filter()的区别,布布扣,bubuko.com
array_map() ,array_filter()的区别
原文:http://freax.blog.51cto.com/6614733/1394800