欢迎访问宙启技术站
智能推送

PHP函数:array_map()的使用方法及示例

发布时间:2023-06-13 15:19:48

array_map()函数常用于对数组中每个元素应用回调函数,然后将结果放入一个新数组中。本文将介绍array_map()的使用方法以及示例。

语法

array_map(callable $callback, array $array1, array ...$arrays): array

参数

$callback:回调函数

$array1:要处理的数组

$arrays:可选,要处理的额外数组

返回值

返回一个包含回调函数处理后的新数组。

示例

1. 以匿名函数为回调函数对数组进行处理

<?php

$originalArray = [1,2,3,4,5];

$newArray = array_map(function($i) { return $i * $i; }, $originalArray);

print_r($newArray);

?>

输出结果:

Array

(

    [0] => 1

    [1] => 4

    [2] => 9

    [3] => 16

    [4] => 25

)

2. 对多个数组进行处理

<?php

$array1 = [1,2,3];

$array2 = [4,5,6];

// 对两个数组中对应元素求和

$sumArray = array_map(function($a, $b) { return $a + $b; }, $array1, $array2);

print_r($sumArray);

?>

输出结果:

Array

(

    [0] => 5

    [1] => 7

    [2] => 9

)

3. 使用预定义函数作为回调函数

<?php

$originalArray = ['apple', 'banana', 'cherry'];

$newArray = array_map('strtoupper', $originalArray);

print_r($newArray);

?>

输出结果:

Array

(

    [0] => APPLE

    [1] => BANANA

    [2] => CHERRY

)

4. 使用对象方法作为回调函数

<?php

class MyObject {

    public function process($value) {

        return $value . ' processed';

    }

}

$originalArray = ['apple', 'banana', 'cherry'];

$myObject = new MyObject();

$newArray = array_map([$myObject, 'process'], $originalArray);

print_r($newArray);

?>

输出结果:

Array

(

    [0] => apple processed

    [1] => banana processed

    [2] => cherry processed

)

总结

array_map()函数可以用于对数组中每个元素应用回调函数,非常方便实用。在开发应用程序时,需要频繁地处理数组,array_map()函数可以大大简化这个任务,提高效率。