کاهش (array_reduce)
تابع «array_reduce» برای «کاهش آرایه» استفاده می شود. کاهش آرایه یعنی تبدیل یک آرایه به یک نتیجه نهایی. مثل جمع نمره ها تا یک عدد بسازیم. یا پیوند کلمات تا یک جمله بسازیم.
تعریف و کاربرد کاهش آرایه
array_reduce مقدارهای آرایه را به یک تابع می فرستد. سپس یک نتیجه بازمی گرداند. نتیجه می تواند عدد یا رشته باشد.
- آرایه را آماده کن.
- تابعِ پردازشگر را بنویس.
- array_reduce را صدا بزن.
سینتکس (Syntax)
array_reduce($array, $myfunction, $initial);
نکته: اگر آرایه خالی باشد و initial ندهی، خروجی NULL است.
مثال 1: ساخت رشته با کاهش آرایه
مقدارها به تابع می روند و به هم چسبیده برمی گردند. مثل اتصال کارت های واژه.
<?php
function myfunction($v1, $v2) {
return $v1 . "-" . $v2;
}
$a = array("Dog", "Cat", "Horse");
print_r(array_reduce($a, "myfunction"));
?>
مثال 2: استفاده از مقدار اولیه (initial)
initial یعنی مقدار شروع. ابتدا به تابع فرستاده می شود. سپس کاهش ادامه می یابد.
<?php
function myfunction($v1, $v2) {
return $v1 . "-" . $v2;
}
$a = array("Dog", "Cat", "Horse");
print_r(array_reduce($a, "myfunction", 5));
?>
مثال 3: بازگرداندن جمع اعداد
اینجا تابع جمع می زند. بنابراین نتیجه عددی است. مانند جمع نمره ها.
<?php
function myfunction($v1, $v2) {
return $v1 + $v2;
}
$a = array(10, 15, 20);
print_r(array_reduce($a, "myfunction", 5));
?>
جزئیات فنی کوتاه
خروجی، «مقدار حاصل» کاهش است. نسخه PHP از 4.0.5 پشتیبانی دارد. از 5.3.0 نوع initial می تواند گوناگون باشد.
لینک های داخلی مفید
برای کار با آرایه ها، صفحه آرایه ها در PHP را ببین. همچنین برای افزودن انتهایی، array_push را مطالعه کن.
جمع بندی سریع
- array_reduce برای «کاهش آرایه» به یک نتیجه است.
- تابع کاربر، منطق کاهش را تعیین می کند.
- initial مقدار شروع است و اختیاری است.
- آرایه خالی بدون initial خروجی NULL می دهد.