PHP array_map() 函數

實例

將函數作用到數組中的每個值上,每個值都乘以本身,并返回帶有新值的數組:

<?php
function myfunction($v)
{
  return($v*$v);
}
$a=array(1,2,3,4,5);
print_r(array_map("myfunction",$a));
?>

運行實例

定義和用法

array_map() 函數將用戶自定義函數作用到數組中的每個值上,并返回用戶自定義函數作用后的帶有新值的數組。

回調函數接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致。

提示:您可以向函數輸入一個或者多個數組。

語法

array_map(myfunction,array1,array2,array3...)
參數 描述
myfunction 必需。用戶自定義函數的名稱,或者是 null。
array1 必需。規定數組。
array2 可選。規定數組。
array3 可選。規定數組。

技術細節

返回值: 返回包含 array1 的值的數組,在向每個值應用自定義函數后。
PHP 版本: 4.0.6+

更多實例

例子 1

使用用戶自定義函數來改變數組的值:

<?php
function myfunction($v)
{
if ($v==="Dog")
  {
  return "Fido";
  }
return $v;
}
$a=array("Horse","Dog","Cat");
print_r(array_map("myfunction",$a));
?>

運行實例

例子 2

使用兩個數組:

<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
  {
  return "same";
  }
return "different";
}
$a1=array("Horse","Dog","Cat");
$a2=array("Cow","Dog","Rat");
print_r(array_map("myfunction",$a1,$a2));
?>

運行實例

例子 3

將數組中值的所有字母改為大寫:

<?php
function myfunction($v)
{
$v=strtoupper($v);
  return $v;
}
$a=array("Animal" => "horse", "Type" => "mammal");
print_r(array_map("myfunction",$a));
?>

運行實例

例子 4

將函數名賦值為 null 時:

<?php
$a1=array("Dog","Cat");
$a2=array("Puppy","Kitten");
print_r(array_map(null,$a1,$a2));
?>

運行實例