数组array_map和array_walk的区别

日期:2021-08-24 21:26:11    浏览:165

array_map 和array_walk 都是对数组内每个元素进行一一处理

array_walk 没有return,只有引用(&),返回值为TRUE 或 FALSE,

它能获取$value,和$key

<?php
//&为可选,加上&,每次处理完都改变原有数组内元素的值
function myfunction(&$value, $key)
{
     $value .= "9";
}

$a1 = array("a" => "red", "b" => "green");
$a2 = array($a1, "1" => "blue", "2" => "yellow");

array_walk($a1,'myfunction');
print_r($a1);
//这个函数内递归的去处理
array_walk_recursive($a2,"myfunction");

 

array_map 不能获取key值,后面接一个数组,函数就传递一个参数,它有return,它不改变原有数组的值,而是返回一个新的数组

Tags: php 数组

世事无常

要有遥不可及的梦想,也要有脚踏实地的本事