Comment

PHP Advanced Array Operations (অ্যাডভান্সড অ্যারে অপারেশন)

PHP অ্যারে রিডিউস (array_reduce() )

Estimated reading: 1 minute 12 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে PHP array_reduce() ফাংশন ব্যবহার করে একটি অ্যারে থেকে একটি single value কমাতে হয়।

PHP অ্যারে রিডিউস ফাংশর-এর পরিচিতি:-

 array_reduce() ফাংশন অ্যারেকে একটি কলব্যাক ফাংশন ব্যবহার করে একটি সিঙ্গেল ভেল্যু কমিয়ে দেয়।

উদাহরণ দিয়ে  array_reduce() ফাংশন বোঝা সহজ।

নিম্নলিখিত উদাহরণ একটি অ্যারের সমস্ত সংখ্যার যোগফল গণনা করে:

<?php

$numbers = [10,20,30];

$total = 0;

foreach ($numbers as $number) {
    $total += $number;
}

echo $total; // 60

কিভাবে এটা কাজ করে.

  • প্রথমে, $numbers  অ্যারে ডিফাইন করুন যার তিনটি সংখ্যা 10, 20 এবং 30 আছে।
  • দ্বিতীয়ত, একটি ভেরিয়েবল $total  ডিফাইন করুন এবং এটিকে $total শূণ্য থেকে আরম্ভ  করুন।
  • তৃতীয়ত,  $numbers অ্যারে থেকে $total  ভেরিয়েবলে একটি foreach  লুপ ব্যবহার করে সংখ্যা যোগ করুন।
  • অবশেষে, $total  ভেরিয়েবলের ভেল্যু  দেখান।

বিকল্পভাবে, আপনি  foreach স্টেটমেন্ট ব্যবহার না করে একই ফলাফল অর্জন করতে array_reduce() ফাংশন ব্যবহার করতে পারেন:

<?php

$numbers = [10,20,30];

$total  = array_reduce($numbers, function ($previous, $current) {
    return $previous + $current;
});

echo $total; // 60

array_reduce()  ফাংশন একটি অ্যারে এবং একটি কলব্যাক ফাংশন গ্রহন করে। এটি কলব্যাক ফাংশন ব্যবহার করে $numbers অ্যারেকে একটি সিঙ্গেল ভেল্যু কমিয়ে দেয়।

PHP 7.3 থেকে, আপনি কলব্যাক ফাংশন হিসাবে একটি anonymous ফাংশনের পরিবর্তে একটি অ্যারো ফাংশন ব্যবহার করতে পারেন:

<?php

$numbers = [10,20,30];

$total  = array_reduce(
    $numbers,
    fn ($previous, $current) => $previous + $current
);

echo $total; // 60 ফাং 

PHP অ্যারে রিডিউস ফাংশন সিন্ট্যাক্স:-

নিম্নলিখিত  array_reduce() ফাংশনের সিনট্যাক্স দেখায়:

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

array_reduce() ফাংশনে নিম্নলিখিত প্যারামিটার রয়েছে:

  • $array হল ইনপুট অ্যারে যা একটি সিঙ্গেল ভেল্যু কমিয়ে আনবে।
  • $callback হল একটি কলব্যাক ফাংশন যা নির্ধারণ করে কিভাবে অ্যারে কমানো উচিত।
  • $initial হল একটি ভেল্যু যা arrary_reduce() ফাংশন হ্রাস প্রক্রিয়ার শুরুতে ব্যবহার করে। array_reduce() ফাংশন $array খালি থাকলে চূড়ান্ত ফলাফল হিসাবে $initial প্রদান করে।

যদি ইনপুট অ্যারে খালি থাকে বা $initial বাদ দেওয়া হয়, তাহলে array_reduce() ফাংশন নাল দেখায়।

$callback ফাংশনকে প্রায়ই reducer বলা হয়। এখানে আপনি অ্যারের উপাদান হ্রাস করার জন্য যুক্তি নির্ধারণ করেন। কলব্যাক ফাংশনে নিম্নলিখিত স্বাক্ষর রয়েছে:

callback ( mixed $carry , mixed $item ) : mixed

  কলব্যাক ফাংশন  দুটি আর্গুমেন্ট গ্রহণ করে:

  • $carry  পূর্বের  পুনরাবৃত্তির রিটার্ন ভেল্যু ধারণ করে। প্রথম পুনরাবৃত্তিতে, এটি  $initial-এর মান ধারণ করে।
  •  $item  চলমান পুনরাবৃত্তির ভেল্যু ধারণ করে।

PHP অ্যারে রিডিউস ফাংশনের উদাহরণ:-

নিম্নলিখিত উদাহরণ একটি শপিং কার্টে মোট আইটেম গণনা করতে array_reduce() ফাংশন ব্যবহার করে:

<?php

$carts = [
    ['item' => 'A', 'qty' => 2, 'price' => 10],
    ['item' => 'B', 'qty' => 3, 'price' => 20],
    ['item' => 'C', 'qty' => 5, 'price' => 30]
];


$total = array_reduce(
    $carts,
    function ($prev, $item) {
        return $prev + $item['qty'] * $item['price'];
    }
);

echo $total; // 155

carts array খালি থাকলে, আপনি null হিসেবে মোট পাবেন।

শূণ্য এর পরিবর্তে null ফেরত দিতে, আপনি array_reduce() ফাংশনে শূণ্য হিসেবে প্রাথমিক আর্গুমেন্ট পাস করেন:

<?php

$carts = [];

$total = array_reduce(
    $carts,
    function ($prev, $item) {
        return $prev + $item['qty'] * $item['price'];
    },
    0
);

echo $total; // 155

যেহেতু  $carts অ্যারে খালি, মোট শূণ্য

সারসংক্ষেপ

  • কলব্যাক ফাংশন ব্যবহার করে একটি অ্যারেকে সিঙ্গেল ভেল্যু কমাতে PHP array_reduce()  ফাংশন ব্যবহার করুন।

Leave a Comment

Share this Doc

PHP অ্যারে রিডিউস (array_reduce() )

Or copy link

CONTENTS

Subscribe

×
Cancel