پاموه

array_reduce و array_walk - آزمون آنلاین پی اچ پی php

تعداد سوال 16
قیمت رایگانــ
زمانسنج ندارد
رده‌سنی همه سنین
وضعیت فعال
نظرات ندارد

array_reduce: تبدیل آرایه به یک مقدار واحد

تابع array_reduce توی PHP مثل اون آدمیه که همیشه می خواد همه چیزو خلاصه کنه. یه آرایه می دی بهش، یه تابع هم می دی، اونم با حوصله میاد همه عناصر رو یکی یکی می گیره و یه مقدار نهایی تحویل می ده.

array_reduce و array_walk - آزمون آنلاین پی اچ پی php

مثلا اگه بخوای مجموع یا ضرب همه عناصر رو حساب کنی، این تابع می درخشه. نمونه هایی که خودم تست کردم و جواب گرفتم:

 // جمع عناصر آرایه $result = array_reduce([1, 2, 3, 4], function($carry, $item) { return $carry + $item; }, 0); echo $result; // خروجی: 10 
 // ضرب عناصر آرایه $result = array_reduce([2, 3, 4], function($carry, $item) { return $carry * $item; }, 1); echo $result; // خروجی: 24 

array_walk: قدم زدن روی آرایه با سبک خاص

تابع array_walk یه جورایی مثل راه رفتن روی آرایه ست، ولی با کلاس. می تونی روی هر عنصر یه عملیات انجام بدی، بدون اینکه ساختار آرایه رو تغییر بدی.

مثلا چاپ کردن، تغییر دادن مقدار، یا حتی اضافه کردن یه افکت خاص. یه مثال ساده ولی کاربردی:

 $names = ["Ali", "Sara", "Mehdi"]; array_walk($names, function(&$value, $key) { $value = strtoupper($value); }); print_r($names); // خروجی: ["ALI", "SARA", "MEHDI"] 

مقایسه array_reduce و array_walk

یه جدول کوچیک برات ساختم که فرق این دوتا رو قشنگ نشون بده. چون توی آزمون، ممکنه دقیقا همینو ازت بپرسن!

ویژگی array_reduce array_walk
نوع خروجی یک مقدار نهایی آرایه تغییر یافته
تغییر مستقیم آرایه خیر بله (با &)
کاربرد اصلی خلاصه سازی اعمال عملیات روی هر عنصر

آزمون: مهارتت رو محک بزن

اگه اینا برات جالب بودن، توی آزمون array_reduce و array_walk شرکت کن. باهاش یاد می گیری چطور آرایه ها رو مثل یه حرفه ای مدیریت کنی، توابع callback بنویسی، و حتی توی مصاحبه های کاری بدرخشی. قول می دم سوالاش هم خسته کننده نیستن، یه کم بازی گونه ان، یه کم چالش برانگیز، و یه کم هم اذیت کننده (شوخی کردم، فقط یه کم!).


چند تمرین برای گرم شدن

۱. یه آرایه از اعداد بساز و با array_reduce میانگینش رو حساب کن

۲. یه لیست از نام ها داشته باش و با array_walk به هر کدوم یه پسوند اضافه کن

۳. یه آرایه از قیمت ها بگیر و با array_reduce مجموع تخفیف شده شون رو حساب کن

 // تمرین ۲ $names = ["Reza", "Neda"]; array_walk($names, function(&$value) { $value .= " - student"; }); print_r($names); // خروجی: ["Reza - student", "Neda - student"] 
تعداد سوال 16
قیمت رایگانــ
زمانسنج ندارد
رده‌سنی همه سنین
وضعیت فعال
نظرات ندارد
نظرات
به عنوان اولین نفر لطفا نظرت رو به ما بگو