PHP array_map() 函数

实例

将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新值的数组:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. function myfunction($v)
  6. {
  7. return($v*$v);
  8. }
  9. $a=array(1,2,3,4,5);
  10. print_r(array_map("myfunction",$a));
  11. ?>
  12. </body>
  13. </html>

定义和用法

array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

提示:您可以向函数输入一个或者多个数组。


语法

  1. array_map(myfunction,array1,array2,array3...)
参数描述
myfunction必需。用户自定义函数的名称,或者是 null。
array1必需。规定数组。
array2可选。规定数组。
array3可选。规定数组。

技术细节

返回值:返回包含 array1 的值的数组,在向每个值应用自定义函数后。
PHP 版本:4.0.6+

更多实例

例子 1

使用用户自定义函数来改变数组的值:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. function myfunction($v)
  6. {
  7. if ($v==="Dog")
  8. {
  9. return "Fido";
  10. }
  11. return $v;
  12. }
  13. $a=array("Horse","Dog","Cat");
  14. print_r(array_map("myfunction",$a));
  15. ?>
  16. </body>
  17. </html>
例子 2

使用两个数组:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. function myfunction($v1,$v2)
  6. {
  7. if ($v1===$v2)
  8. {
  9. return "same";
  10. }
  11. return "different";
  12. }
  13. $a1=array("Horse","Dog","Cat");
  14. $a2=array("Cow","Dog","Rat");
  15. print_r(array_map("myfunction",$a1,$a2));
  16. ?>
  17. </body>
  18. </html>
例子 3

将数组中值的所有字母改为大写:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. function myfunction($v)
  6. {
  7. $v=strtoupper($v);
  8. return $v;
  9. }
  10. $a=array("Animal" => "horse", "Type" => "mammal");
  11. print_r(array_map("myfunction",$a));
  12. ?>
  13. </body>
  14. </html>
例子 4

将函数名赋值为 null 时:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. $a1=array("Dog","Cat");
  6. $a2=array("Puppy","Kitten");
  7. print_r(array_map(null,$a1,$a2));
  8. ?>
  9. </body>
  10. </html>

分类导航