Rumah > pembangunan bahagian belakang > tutorial php > php中array_map函数与array_walk函数的用法区别

php中array_map函数与array_walk函数的用法区别

不言
Lepaskan: 2023-04-03 19:18:02
asal
2539 orang telah melayarinya

本篇文章给大家带来的内容是关于php中array_map函数与array_walk函数的用法区别,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

array_map():
1、array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组,若函数作用后无返回值,则对应的新值数组中为空。
2、回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
3、提示:您可以向函数输入一个或者多个数组。

若相函数输入2个数组,其函数接受参数也应该有两个,map给函数传值时,是每次从两个数组中分别取一个传给函
数。即多个数组之间是同步提交的,不是提交完一个数组再提交下一个
提交几个数组,则函数也需要有几个参数

4、语法: array array_map ( callable arr1 [, array $… ] )

实例:

<?php //单数组形式
function myfunction($v){
    if ($v==="Dog")
    {        
    return "Fido";
    }    
    return $v;
}
$a=array("Horse","Dog","Cat");
print_r(array_map("myfunction",$a));//多数组形式
function myfunction1($v1,$v2){
    if ($v1===$v2)
    {        
    return "same";
    }    
    return "different";
}
$a1=array("Horse","Dog","Cat");
$a2=array("Cow","Dog","Rat");
print_r(array_map("myfunction1",$a1,$a2));
?>
Salin selepas log masuk

array_walk():
1、array_walk — 使用用户自定义函数对数组中的每个元素做回调处理
2、语法: bool array_walk ( array &

funcname [, mixed $userdata = NULL ] )

参数:

$array 输入的数组。 $funcname 回调函数,典型情况下 $funcname 接受两个参数。

$array 参数的值作为第一个, 键名作为第二个。

$userdata 如果提供了可选参数 $userdata ,将被作为第三个参数传递给 $funcname。

注意:

如果 $funcname 需要直接作用于数组中的值,则给 funcname 的第一个参数指定为引用(添加&符号)。这样
任何对这些单元的改变也将会改变原始数组本身。

返回值 :

成功时返回 TRUE, 或者在失败时返回 FALSE。

实例:

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");//传引用,改变了所传参数组
function test_alter(&$item1, $key, $prefix){
    $item1 = "$prefix: $item1";
}function test_print($item2, $key){
    echo "$key. $item2<br />\n";
}echo "Before ...:\n";//单数组
array_walk($fruits, &#39;test_print&#39;);//带额外参数
array_walk($fruits, &#39;test_alter&#39;, &#39;fruit&#39;);
echo "... and after:\n";
array_walk($fruits, &#39;test_print&#39;);
Salin selepas log masuk

以上例程会输出:

Before ...:
d. lemon
a. orange
b. banana
c. apple ... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple
Salin selepas log masuk

关键点:

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

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

walk   可以认为提供额外参数给回调函数,map不可以

walk   主要是要对数组内的每个值进行操作,操作结果影响原来的数组 map    主要是对数组中的值进行操作后返回数组,以得到一个新数组

walk   可以没有返回值 map要有,因为要填充数组

相关文章推荐:

php中include()函数与require()函数有何区别?

PHP:数组操作函数array_walk()和array_map()

php中array_map,array_filter,array_walk区别

Atas ialah kandungan terperinci php中array_map函数与array_walk函数的用法区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan