توابع 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));
?>

运行实例