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()関数に渡される引数の数は、コールバック関数が受け取る引数の数と一致する必要があります。

ヒント:関数に1つまたは複数の配列を入力できます。

文法

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));
?>

运行实例