دالة 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)); ?>