迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

PHP 中的 array_map 和 array_walk 函数

作者:迹忆客 最近更新:2023/03/15 浏览次数:

在本文中,我们将介绍 array_map()array_walk() 函数。我们将看到如何使用用户定义的函数修改数组中的所有元素。

此外,它将涵盖你可以使用上述功能的不同方式。

使用 PHP array_map() 函数通过用户定义的函数修改数组中的元素

你可以使用 array_map() 函数将数组中的所有值发送到用户定义的函数。

在下面的示例代码中,我们将数组 $arr 中的值发送到函数 divide 并返回新值。

示例代码 1:

<?php
// Define the function divide
function divide($n) {
	
	return($n/$n);
	
}
$a = array(2, 4, 6, 8, 10);

print_r(array_map("divide", $a));

?>	

输出:

Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 1 )

在上面的代码中,我们的函数 divide 将数组 $a 中的所有值除以相应的值;因此输出 1

让我们尝试使用多个数组。

示例代码 2:

<?php
// Define the function minusAdd
function minusAdd($t, $r, $k) {
	
	return($t - $r + $k);
	
}
$arr1 = array(28, 14, 76, 38, 10);
$arr2 = array(4, 6, 20, 12, 3);
$arr3 = array(12, 6, 7 ,8 ,9);

print_r(array_map("minusAdd", $arr1, $arr2, $arr3));

?>	

输出:

Array ( [0] => 36 [1] => 14 [2] => 63 [3] => 34 [4] => 16 )

如下例所示,我们可以使用 array_map() 函数来更改数组中的元素。

示例代码 3:

<?php

function synonym($s) {
	if ($s === "Male Horse") {
		return "Stallion";
	}
	return $s;
}
$arr = array("Female Horse", "Male Horse", "Pony");

print_r(array_map("synonym", $arr));

?>

输出:

Array ( [0] => Female Horse [1] => Stallion [2] => Pony )

从上面的代码中,我们在 array_map 函数的帮助下将 Male Horse 更改为 Stallion

你还可以使用 array_map 函数创建一个数组。要使代码正常工作,你必须使用 null 参数来代替定义的函数。

示例代码 4:

<?php

// Create an array of an array

$a1 = array('Apple', 'Eggplant', 'Cucumber', 'Mango');
$a2 = array('Fruit', 'Vegetable', 'Vegetable', 'Fruit');

$result = array_map( null, $a1, $a2);

print_r($result);

?>

输出:

Array ( [0] => Array ( [0] => Apple [1] => Fruit ) [1] => Array ( [0] => Eggplant [1] => Vegetable ) [2] => Array ( [0] => Cucumber [1] => Vegetable ) [3] => Array ( [0] => Mango [1] => Fruit ) )

在 PHP 中使用 array_walk() 使用包含键的函数运行数组

由于 array_map() 函数不处理键和参数,我们使用 array_walk(),如下例所示。

示例代码 6:

<?php

function assign($color, $key) {
	echo "The $key is $color <br>";
}
$arr = array("Apple" => "red", "Eggplant" => "purple");

array_walk($arr, "assign");

?>

输出:

The Apple is red
The Eggplant is purple

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便