array_filter、array_walk、array_map的区别
来源:互联网 发布:防盗芯片编程器 编辑:程序博客网 时间:2024/06/04 18:24
平时经常遇到这三个函数,每次遇到就查资料,用的时候又忘记了,今天绝对把它写下来供下次翻阅。
首先看一下这三个函数的文档
array array_filter ( array $input [, callback $callback ] )、
array array_map ( callback $callback , array $arr1 [, array $... ] )
bool array_walk ( array &$array , callback $funcname [, mixed $userdata ] )
array_filter返回的是一个数组,依次将 input 数组中的每个值传递到callback 函数。如果 callback 函数返回TRUE,则 input数组的当前值会被包含在返回的结果数组中。数组的键名保留不变
<?php$arr=array(1,2,3,4,5,6);function filter($var){if($var%2==0)return true;}$data=array_filter($arr,"filter");$data=array(2,4,6);?>
array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过callback 作用过之后的单元。callback接受的参数数目应该和传递给array_map() 函数的数组数目一致。
<?php$arr1=array('linux','Php','JAVA');array_map('strtoupper',$arr1);?>
array_walk() 不会受到 array内部数组指针的影响。array_walk()会遍历整个数组而不管指针的位置。
用户不应在回调函数中改变该数组本身。例如增加/删除单元,unset 单元等等。如果 array_walk()作用的数组改变了,则此函数的的行为未经定义,且不可预期。注意回调函数接收的前两个参数第一个是值,第二个是键值,如果有第三个参数,则数组所有的值都共用这个参数
<?php?function exchange($val,$key){echo $val;echo $key;}$arr2=array('a'=>'linux','b'=>'php','c'=>'java','d'=>'mysql');array_walk($arr2,'exchange');>
0 0
- array_filter、array_walk、array_map的区别
- array_filter、array_walk、array_map的区别
- array_map 和array_walk && array_filter区别
- php中array_map,array_filter,array_walk区别
- array_map array_filter array_walk
- array_map array_filter array_walk
- 228 php array_walk array_filter array_map
- PHP array_map()和array_walk的区别
- PHP数组函数: array_walk()与 array_map() 的区别
- 辛星浅析array_walk()和array_map()的联系和区别
- PHP数组函数: array_walk()与 array_map() 的区别
- PHP数组函数: array_walk()与 array_map() 的区别
- array_map 和 array_filter 的使用
- array_walk与array_map 的不同
- array_map和array_walk
- array_walk 和 array_map
- php 使用array_walk和array_map
- 数组编程:array_reduce array_map array_walk
- 红黑树C++实现以及与AVL树的区别
- Windows 64 位系统下安装配置 DOSBox 及 debug.exe
- ABP 框架从源码学习——abp框架启动核心类AbpBootstrapper(2)
- linux的常用命令
- PHP-Zend引擎剖析之Hello World(二)
- array_filter、array_walk、array_map的区别
- 磁盘的基本概念介绍
- 服务器端编程心得(六)—— 关于网络编程的一些实用技巧和细节
- Visio studio 基本控件
- Python简易爬虫架构与设计
- linux 下删除文件的 操纵
- 装箱Bin Packing
- 用数组实现栈(Stacks)、队列(Queue)和双向链表(Doubly Linked List)的伪代码
- elk-logstash查看运行参数api