Heim > Backend-Entwicklung > PHP-Tutorial > 辛星浅析array_walk和array_map的联系和区别 array walk 类 array walk trim array walk 匿名函

辛星浅析array_walk和array_map的联系和区别 array walk 类 array walk trim array walk 匿名函

WBOY
Freigeben: 2016-07-29 08:54:24
Original
1227 Leute haben es durchsucht

    对于这两个函数的具体使用方式,我们先来看一下吧,首先是array_walk,代码如下:

<?php $arr = array(2,4,5,6,7);

function xin(&$val,$key){
	$val =  $val*$val;
}

array_walk($arr, "xin");
var_dump($arr);
Nach dem Login kopieren
    其输出内容如下:

array (size=5)
  0 => int 4
  1 => int 16
  2 => int 25
  3 => int 36
  4 => int 49
Nach dem Login kopieren
     而对于array_map,我们也来一个范例吧:

<?php function xin($a,$b){
	return $a*$b;
}
 
$arr = array(2,3,4,5);
$brr = array(5,6,7,8);
$crr = array_map("xin",$arr,$brr);
var_dump($crr);
Nach dem Login kopieren
    其输出内容如下:

array (size=4)
  0 => int 10
  1 => int 18
  2 => int 28
  3 => int 40
Nach dem Login kopieren

    

    我们可以发现,对于诸如遍历数组来说,这两个函数都可以实现,但是通常来说,它们的侧重点不同:

    (1)array_map可以同时遍历n个数组,而array_walk则通常是遍历一个。

    (2)array_map必须有一个返回值,因为它的返回值需要构成新数组。但是array_walk则通常没有必要,因为它的通常用途是改变原来的数据。

     (3)array_map通常会有一个数据的作用,但是array_walk则不建议对数据进行删除和增加,只建议进行值的修改。

     当然,它们在某些情况下可以实现相同的功能,二者并不是泾渭分明,而是有一定的交集。

以上就介绍了辛星浅析array_walk和array_map的联系和区别,包括了array,walk方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage