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