文章教程

4.18用回调函数处理数组

9/17/2020 9:26:54 PM 人评论 次浏览

4.18 用回调函数处理数组

PHP支持回调函数操作给定数组的元素上,这也是PHP数组函数的强大功能之一。函数array_map()就可以完成这样的工作,它将回调函数作用到给定数组的元素上,其语法如下所示。


array array_map(callback_func,array$arr1[,array……])


函数array_map()返回一个数组,该数组包含了参数$arr1中的所有元素经过函数callback_func()处理之后的元素。callback接受参数的数目应该和传递给array_map()函数的数组数目一致。代码4-29演示了该函数的用法。

代码4-29 使用回调函数处理数组元素4-29.php


01 <?php

02 function cube($n)//定义函数cube()

03 {

04 $cb=$n*$n*$n;

05 return$cb;

06 }

07

08 $a=array(1,2,3,4,5);

09 $b=array_map("cube",$a);//通过回调函数处理数组$a

10

11 echo'计算原数组各元素的立方,结果如下:';

12 echo'<br/>';

13 echo'<pre>';

14

15 print_r($b);

16 ?>


【代码解析】这段代码第2~6行首先定义了一个函数cube(),其功能是计算某个数字的立方值。然后在代码第9行,程序调用函数array_map(),将函数cube()作用于数组$a的每一个元素,也就是为其每个元素做立方值的计算,最后将函数array_map()的返回值数组输出到页面。4-29.php的执行结果如图4-29所示。

图 4-29 使用回调函数处理数组元素

教程类别