ফাংশন array_reduce

ফাংশন array_reduce একটি কলব্যাক ব্যবহার করে অ্যারেকে একটি মানতে হ্রাস (রিডিউস) করে।

প্রথম প্যারামিটারে ফাংশনটি একটি অ্যারে নেয়, দ্বিতীয়টিতে - একটি কলব্যাক, যা পর্যায়ক্রমে অ্যারের প্রতিটি উপাদানের উপর প্রয়োগ করা হবে।

তৃতীয় ঐচ্ছিক প্যারামিটারে প্রারম্ভিক মান থাকবে, যেখান থেকে অ্যারে হ্রাস করা শুরু হবে। ডিফল্টরূপে এই প্যারামিটারের মান null।

ফাংশন-কলব্যাকটি প্যারামিটার হিসেবে পায় দুটি মান। প্রথম মানটিতে থাকে পূর্ববর্তী ইটারেশন থেকে প্রাপ্ত ফলাফলের মান। প্রথম ইটারেশনের ক্ষেত্রে এটি থাকে তৃতীয় প্যারামিটারের মান।

এবং কলব্যাকের দ্বিতীয় মানটিতে থাকে অ্যারের বর্তমান উপাদান।

কলব্যাকটি পর্যায়ক্রমে অ্যারের প্রতিটি উপাদানের উপর প্রয়োগ করা হবে। কলব্যাকটি বর্তমান ইটারেশনে যা ফেরত দেবে, তা পরবর্তী ইটারেশনে কলব্যাকের প্রথম প্যারামিটারে প্রবেশ করবে।

এইভাবে, কলব্যাকটি ক্রমান্বয়ে অ্যারের প্রতিটি উপাদানের উপর একের পর এক প্রয়োগ হবে এবং শেষ পর্যন্ত একটি মান পাওয়া যাবে। এই মানটিই হবে ফাংশন array_reduce এর কাজের ফলাফল।

সিনট্যাক্স

phparray_reduce(array $array, callable $callback, mixed $initial = null): mixed

উদাহরণ

আসুন অ্যারের উপাদানগুলির যোগফল বের করি:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  function func($prev, $elem)
  {
    return $prev + $elem;
  }
  
  $res = array_reduce($arr, 'func', 0);
  echo $res;
?>

কোড 실행ের ফলাফল:

php15

আরও দেখুন

  • ফাংশন array_map,
    যা অ্যারের উপাদানগুলিতে একটি ফাংশন প্রয়োগ করে
  • ফাংশন array_walk,
    যা অ্যারের উপাদানগুলির জন্য একটি ফাংশন কল করে
  • ফাংশন array_filter,
    যা অ্যারেকে ফিল্টার করে
  • ফাংশন array_walk_recursive,
    যা অ্যারের উপাদানগুলির জন্য রিকার্সিভলি একটি ফাংশন কল করে