Comment

PHP ফাংশন (Functions)

PHP ভেরিয়াডিক ফাংশন (Variadic functions)

Estimated reading: 1 minute 16 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি PHP variadic (বৈচিত্র্যময়) functions সম্পর্কে শিখবেন যা  variable number arguments গ্রহণ করে।

PHP ভেরিয়াডিক ফাংশন পরিচিতিঃ

এই পর্যন্ত আপনি যা শিখেছেন কীভাবে নির্দিষ্ট সংখ্যক  parameters গ্রহণ করে, এমন  function কে কীভাবে ডিফাইন করতে হয়। ভেরিয়াডিক ফাংশন প্যারামিটার এর একটি ভেরিয়েবল সংখ্যা গ্রহন করে।

নিম্নলিখিত উদাহরণটি  sum() নামক একটি ফাংশনকে ডিফাইন করে যা দুটি পূর্ণসংখ্যা এর যোগফল প্রদান করে:

<?php

function sum(int $x, int $y)
{
    return $x + $y;
}

echo sum(10, 20); // 30

 sum() ফাংশনকে আর্গুমেন্টের একটি ভেরিয়েবল গ্রহণ করার অনুমতি দিতে আপনাকে  func_get_args() ফাংশন ব্যবহার করতে হবে।  func_num_args() ফাংশন একটি  array প্রদান করে যাতে সবগুলো ফাংশন আর্গুমেন্ট থাকে।

উদাহরণ স্বরূপঃ

<?php

function sum(...$numbers)
{
    $total = 0;
    for ($i = 0; $i < count($numbers); $i++) {
        $total += $numbers[$i];
    }

    return $total;
}
echo sum(10, 20) . '<br>'; // 30
echo sum(10, 20, 30) . '<br>'; // 60

এই উদাহরণে, আমরা  sum() ফাংশন এর জন্য কোনো প্যারামিটার নির্দিষ্ট করে না।  sum() ফাংশনকে কল করার সময়, আমরা এতে যেকোনো সংখ্যক আর্গুমেন্ট পাস করাতে পারি।

ফাংশনের ভিতরে, func_get_args() একটি array প্রদান করে, যাতে সমস্ত আর্গুমেন্ট থাকে। সমস্ত আর্গুমেন্ট যোগ করার জন্য আমরা একটি for loop ব্যবহার করি।

PHP 5.6 ...অপারেটর চালু করেছে। আপনি যখন একটি  ফাংশন প্যারামিটার এর সামনে ...অপারেটর রাখেন, তখন ফাংশনটি ভেরিয়েবল সংখ্যক আর্গুমেন্ট গ্রহণ করবে এবং প্যারামিটার -টি ফাংশনের ভিতরে একটি array হয়ে যাবে।

উদাহরণ স্বরূপঃ

<?php

function sum(...$numbers)
{
    $total = 0;
    for ($i = 0; $i < count($numbers); $i++) {
        $total += $numbers[$i];
    }

    return $total;
}
echo sum(10, 20) . '<br>'; // 30
echo sum(10, 20, 30) . '<br>'; // 60

এই উদাহরণে, আমরা $numbers আর্গুমেন্ট এর সামনে ... অপারেটর রাখি। sum() ফাংশন এখন নাম্বার আর্গুমেন্ট এর একটি ভেরিয়েবল গ্রহন করে।

PHP 7 এ আপনাকে ভেরিয়াডিক আর্গুমেন্ট এর জন্য টাইপ ঘোষণা করতে দেয়।

উদাহরণ স্বরূপঃ

<?php

function sum(int ...$numbers): int
{
    $total = 0;
    for ($i = 0; $i &lt; count($numbers); $i++) {
        $total += $numbers[$i];
    }

    return $total;
}

এই উদাহরণে,  sum() ফাংশন শুধুমাত্র পূর্ণসংখ্যা গ্রহণ করবে এবং পূর্ণসংখ্যা এর যোগফল প্রদান করবে।

যদি ফাংশনের একাধিক প্যারামিটার থাকে তবে শুধুমাত্র শেষ প্যারামিটার টি ভেরিয়াডিক হতে পারে।

উদাহরণ স্বরূপঃ

function my_func($a, $b, ...$params) {
    // ...
}

আপনি যদি রেগুলার প্যারামিটার এর আগে ভেরিয়াডিক প্যারামিটার রাখেন, আপনি একটি error পাবেন:

Fatal error: Only the last parameter can be variadic in...

ফাংশনে শুধুমাত্র একটি ভেরিয়াডিক প্যারামিটার আছে.

মনে রাখবেন যে আপনি একটি array এর সমস্ত উপাদান এর যোগফল গণনা করতে array_sum() ব্যবহার করতে পারেন। সুতরাং আপনি এইভাবে  sum() ফাংশনটিকে সহজতর করতে পারেনঃ

<?php

function sum(int ...$numbers): int
{
    return array_sum($numbers);
}

সারাংশ

  • একটি ভেরিয়েবল ফাংশন একটি ভেরিয়েবল নাম্বার আর্গুমেন্ট গ্রহণ করে।
  • একটি ভেরিয়াডিক ফাংশন ডিফাইন করতে ... অপারেটর ব্যবহার করুন।
  • শুধুমাত্র লাস্ট প্যারামিটার ভেরিয়াডিক হতে পারে।

Leave a Comment

Share this Doc

PHP ভেরিয়াডিক ফাংশন (Variadic functions)

Or copy link

CONTENTS

Subscribe

×
Cancel