PHP-数组函数array_map()

<?php
  
 /*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上
   * 1、语法:array array_map ( callback callback, array arr1 [, array ...] )
   * 2、描述:返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的
   * 单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
   * 3、注意事项:
   *   3.1、多数组回调函数作用于一个数组时,将保留原有数组的键名,也就是返回的数组的键名就是
   *   作用到给定数组的键名
   *   3.2、多数组回到函数作用于两个或多个数组时,他们的长度要一致,并且将忽略原来多个数组的
   *   键名,统一分配数字索引作为键名
   */
  //单个数组使用的例子
  $websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo");
  //输出原数组
  echo "<pre>";
  print_r($websites);
  echo "</pre>";
  //定义对单个数组处理的回调函数
  function change_value($value){
      return ucfirst($value).".com";
  }
  $urls=array_map('change_value',$websites);
  echo "<pre>";
  print_r($urls);
  echo "</pre>";
  //多个数组使用的例子
  $arr1=array(1,3,5,7);
  $arr2=array(2,4,6,8);
  //定义对多个数组处理的回调函数
  function func1($a,$b){
      return $a*$b;
  }
  $results=array_map('func1',$arr1,$arr2);
  echo "利用回调函数对多个数组处理后,返回的结果:<br>";
  echo "<pre>";
  print_r($results);
  echo "</pre>";

运行结果如下:

Array
(
    [g] => google
    [b] => baidu
    [y] => yahoo
)
Array
(
    [g] => Google.com
    [b] => Baidu.com
    [y] => Yahoo.com
)
利用回调函数对多个数组处理后,返回的结果:<br><pre>Array
(
    [0] => 2
    [1] => 12
    [2] => 30
    [3] => 56
)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容