php中array_map数组回调函数使用例子

array array_map ( callable $callback , array $arr1 [, array $... ] )

array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。

callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

 

 代码如下 复制代码

function fun($n)
{
return $n * $n * $n;
}

$a = array(1, 2, 3, 4, 5);
$b = array_map('fun', $a); /* 每个数组单元作三次方运算,返回数组 */
print_r($b);
/*
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
*/

array_map('unlink', glob('*.txt'));/* glob返回"文件名.txt"组成的数组,然后对每个文件进行删除操作*/

array_map('unlink', glob('*.*'));

array_map('unlink', glob('*'));

如果不使用array_map(),对数组每个单元进行操作就只能遍历然后适当组装。

再看个例子

 代码如下 复制代码

//单个数组使用的例子
$websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo");
//输出原数组
echo "<pre>";
print_r($websites);
echo "</pre>";
//定义对单个数组处理的回调函数
function change_value($value){
return ucfirst($value).".com";
}
$urls=array_map('change_value',$websites);
echo "<pre>";
print_r($urls);
echo "</pre>";
//多个数组使用的例子
$arr1=array(1,3,5,7);
$arr2=array(2,4,6,8);
//定义对多个数组处理的回调函数
function func1($a,$b){
return $a*$b;
}
$results=array_map('func1',$arr1,$arr2);
echo "利用回调函数对多个数组处理后,返回的结果:<br>";
echo "<pre>";
print_r($results);
echo "</pre>";

有朋友不清楚array_walk和array_map的区别,下面我简单的介绍一下

map主要是为了得到你的回调函数处理后的新数组,要的是结果。

walk主要是对每个参数都使用一次你的回调函数,要的是处理的过程。

时间: 2024-10-01 04:23:52

php中array_map数组回调函数使用例子的相关文章

PHP中的数组处理函数实例总结_php技巧

本文实例总结了PHP中的数组处理函数.分享给大家供大家参考,具体如下: <?php //改变数组键的大小写 $arr1=array("a"=>"Lamp","db"=>"database","LANGUAGE"=>"PHP"); print_r(array_change_key_case($arr1,CASE_UPPER)); echo "<br/

php中的数组操作函数整理_php技巧

Array([key =>] value, [key =>] value, [key =>] value, [key =>] value) // key 可以是 integer 或者 string // value 可以是任何值 array_change_key_case -- 返回字符串键名全为小写或大写的数组 array_chunk -- 将一个数组分割成多个 array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_coun

Windows Service中调用dll 回调函数不执行(在线等)

问题描述 WindowsService中调用dll回调函数不执行,非回调函数正常:部分代码publicdelegatevoidGESCALLBACK(stringExtNum,intstatus);[DllImport("ExtStatusShow.dll")]publicstaticexternintRegGetExtStatusCBEvent(GESCALLBACKFunc);...publicvoid_UpdateExtStatus(stringExtNum,intstatus)

php数组长度函数的例子

PHP中有两个内建的函数:count() 和sizeof(),可以实现得到数组的长度   $colorList = array("apple"=>"red", "grass"=>"green", "sky"=>"blue",  "night"=>"black","wall"=>"white

PHP中使用数组指针函数操作数组示例_php技巧

数组的内部指针是数组内部的组织机制,指向一个数组中的某个元素.默认是指向数组中第一个元素通过移动或改变指针的位置,可以访问数组中的任意元素.对于数组指针的控制PHP提供了以下几个内建函数可以利用. ★current():取得目前指针位置的内容资料. ★key():读取目前指针所指向资料的索引值(键值). ★next():将数组中的内部指针移动到下一个单元. ★prev():将数组的内部指针倒回一位. ★end():将数组的内部指针指向最后一个元素. ★reset():将目前指针无条件移至第一个索

PowerShell函数中限制数组参数个数的例子_PowerShell

本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数.数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数. PowerShell函数可以接受数组作为输入参数.而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'.这个函数的定义如下: 复制代码 代码如下: functi

php中的curl_multi系列函数使用例子_php实例

相信许多人对php手册中语焉不详的curl_multi一族的函数头疼不已,它们文档少,给的例子 更是简单的让你无从借鉴,我也曾经找了许多网页,都没见一个完整的应用例子. curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select 一般来说,想到要

php中禁止危险php函数的例子

禁用方法如下:   打开/etc/php.ini文件,   搜索定位到这行  1.disable_functions =  添加需禁用的函数名,比如:   代码如下 复制代码 phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,rea

php array_map()数组函数使用说明_php基础

复制代码 代码如下: /*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上 * 1.语法:array array_map ( callback callback, array arr1 [, array ...] ) * 2.描述:返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的 * 单元.callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致. * 3.注意事项: * 3.1.多数组回调