توابع array_map() PHP
مثال
توابع را بر روی هر یک از مقادیر آرایه اعمال کنید، هر مقادیر باید به خودش ضرب شود و آرایهای با مقادیر جدید بازگردانده شود:
<?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() ارسال میشوند، مطابقت داشته باشد.
توجه:شما میتوانید یک یا چند آرایه را به تابع وارد کنید.
نحوه نوشتن
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)); ?>