Comment

PHP অ্যারে (Array)

PHP স্প্রেড অপারেটর (Spread operator)

Estimated reading: 2 minutes 10 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি PHP spread operator সম্পর্কে শিখবেন এবং কীভাবে এটি কার্যকরভাবে ব্যবহার করবেন, যেমন, একাধিক অ্যারেকে একত্রে একত্রিত করা।

এই টিউটোরিয়ালে, আপনি PHP স্প্রেড অপারেটর সম্পর্কে শিখবেন এবং কীভাবে এটি কার্যকরভাবে ব্যবহার করবেন, যেমন, একাধিক অ্যারেকে একত্রে একত্রিত করা।

PHP স্প্রেড অপারেটরr-এর পরিচয় :-

PHP 7.4 অ্যারে এক্সপ্রেশনে স্প্রেড অপারেটর চালু করেছে। PHP স্প্রেড অপারেটর বোঝাতে তিনটি ডট (...) ব্যবহার করে।

যখন আপনি স্প্রেড অপারেটর এর সাথে একটি অ্যারের প্রিফিক্স করেন, তখন PHP অ্যারের উপাদানকে সেই জায়গায় স্প্রেড করে দেবে:

...array_var

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

<?php

$numbers = [4,5];
$scores = [1,2,3, ...$numbers];

print_r($scores);

আউটপুট:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

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

  • প্রথমে, $numbers অ্যারে ডিফাইন করুন যা দুটি  পূর্ণসংখ্যা ধারণ করে।
  • দ্বিতীয়ত, তিনটি পূর্ণসংখ্যা 1, 2 এবং 3 এর $scores অ্যারে ডিফাইন করুন। এছাড়াও, $number অ্যারের উপাদানকে $scores অ্যারেতে স্প্রেড  করুন । ফলস্বরূপ, $scores অ্যারেতে পাঁচটি সংখ্যা 1, 2, 3, 4 এবং 5 থাকবে।

স্প্রেড অপারেটর array_merge()  ফাংশনের চেয়ে ভালো পারফরম্যান্স অফার করে কারণ এটি একটি ল্যাঙ্গুয়েজ কনস্ট্রাক্ট যেখানে  array_merge() একটি ফাংশন কল। এছাড়াও, PHP কম্পাইলের সময় কনস্ট্যান্ট অ্যারে-এর জন্য পারফর্মেন্স অপটিমাইজ করে।

আর্গুমেন্ট আনপ্যাকিংয়ের বিপরীতে, আপনি যে কোনো জায়গায় স্প্রেড অপারেটর ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি অ্যারের শুরুতে স্প্রেড অপারেটর ব্যবহার করতে পারেন:

<?php

$numbers = [1,2];
$scores = [...$numbers, 3, 4];

print_r($scores);

আউটপুট:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

অথবা, আপনি এই মত একটি অ্যারের মাঝখানে স্প্রেড অপারেটর ব্যবহার করতে পারেন:

<?php

$numbers = [2,3];
$scores = [1, ...$numbers, 4];

print_r($scores);

আউটপুট:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

একাধিকবার স্প্রেড অপারেটর ব্যবহার করা

PHP আপনাকে স্প্রেড অপারেটর একাধিকবার ব্যবহার করতে দেয়।

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

<?php

$even = [2, 4, 6];
$odd = [1, 2, 3];
$all = [...$odd, ...$even];

print_r($all);

আউটপুট:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 2
    [4] => 4
    [5] => 6
)

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

  • প্রথমে,  even এবং odd  সংখ্যা ধারণ করে এমন দুটি অ্যারে $even and $odd ডিফাইন করুন।
  • দ্বিতীয়ত, এই অ্যারের উপাদানকে একটি নতুন অ্যারে $all -এ ছড়িয়ে দিতে স্প্রেড অপারেটর ব্যবহার করুন। $all  অ্যারে উভয় অ্যারের উপাদান ধরে রাখবে,  $even and $odd

একটি ফাংশন কলের রিটার্ন ভেল্যু সহ স্প্রেড অপারেটর ব্যবহার করা

নিম্নলিখিত উদাহরণ একটি ফাংশনের রিটার্ন ভেল্যু সহ স্প্রেড অপারেটর ব্যবহার করে:

<?php

function get_random_numbers()
{
    for ($i = 0; $i < 5; $i++) {
        $random_numbers[] = rand(1, 100);
    }
    return $random_numbers;
}

$random_numbers = [...get_random_numbers()];

print_r($random_numbers);

আউটপুট:

Array
(
    [0] => 47
    [1] => 78
    [2] => 83
    [3] => 13
    [4] => 32
)

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

  • প্রথমে, একটি ফাংশন get_random_numbers() ডিফাইন করুন যা 1 এবং 100 এর মধ্যে পাঁচটি রেন্ডম পূর্ণসংখ্যা এর একটি অ্যারে প্রদান করে।
  • তারপর, সরাসরি ফাংশন কল থেকে ফিরে আসা অ্যারের উপাদান ছড়িয়ে দিতে স্প্রেড অপারেটর ব্যবহার করুন।

নোটঃ  rand() ফাংশনের কারণে আপনি সম্ভবত একটি ভিন্ন আউটপুট দেখতে পাবেন।

একটি জেনারেটর-এর সাথে স্প্রেড অপারেটর ব্যবহার করা

নিম্নলিখিত উদাহরণে, প্রথমে, আমরা একটি জেনারেটর ডিফাইন করি যেটি 2 এবং 10 এর মধ্যে জোর সংখ্যা প্রদান করে। তারপর, আমরা জেনারেটর রিটার্ন ভেল্যু কী অ্যারেতে ছড়িয়ে দিতে স্প্রেড অপারেটর ব্যবহার করি:

<?php

function even_number()
{
    for($i =2; $i < 10; $i+=2){
        yield $i;
    }
}

$even = [...even_number()];

print_r($even);

আউটপুট:

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
)

ট্রাভার্সিবল অবজেক্ট-এর সাথে PHP স্প্রেড অপারেটর ব্যবহার করা

PHP আপনাকে স্প্রেড অপারেটর টি শুধুমাত্র একটি অ্যারেতে নয় বরং যেকোন অবজেক্ট প্রয়োগ করতে দেয় যা ট্রাভার্সিবল ইন্টারফেইস প্রয়োগ করে। উদাহরণ স্বরূপ:

<?php

class RGB implements IteratorAggregate
{
    private $colors = ['red','green','blue'];

    public function getIterator()
    {
        return new ArrayIterator($this->colors);
    }
}

$rgb = new RGB();
$colors = [...$rgb];

print_r($colors);

আউটপুট:

Array
(
    [0] => red
    [1] => green
    [2] => blue
)

স্প্রেড অপারেটর এবং নাম আর্গুমেন্ট

PHp ৮ আপনাকে নেইম আর্গুমেন্ট ব্যবহার করে একটি ফাংশন কল করার অনুমতি দেয়। উদাহরণ স্বরূপ:

<?php


function format_name(string $first, string $middle, string $last): string
{
    return $middle ?
        "$first $middle $last" :
        "$first $last";
}

echo format_name(
    first: 'John',
    middle: 'V.',
    last: 'Doe'
); // John V. Doe

 

এছাড়াও, আপনি স্প্রেড অপারেটর ব্যবহার করে format_name ফাংশন-এ আর্গুমেন্ট পাস করতে পারেন:

<?php


function format_name(string $first, string $middle, string $last): string
{
    return $middle ?
        "$first $middle $last" :
        "$first $last";
}


$names = [
    'first' => 'John',
    'middle' => 'V.',
    'last' => 'Doe'
];

echo format_name(...$names); // John V. Doe

এই ক্ষেত্রে, অ্যারের উপাদান কী format_name()  ফাংশনের প্যারামিটার নামের সাথে মিলে যায়।

সারসংক্ষেপ

  • PHP স্প্রেড অপারেটর বোঝাতে তিনটি ডট (...) ব্যবহার করে।
  • স্প্রেড অপারেটর একটি অ্যারের উপাদানকে ছড়িয়ে দেয় (...array_var).
  • একটি অ্যারে বা একটি অবজেক্টের সাথে স্প্রেড অপারেটর ব্যবহার করুন যা ট্রাভার্সিবল ইন্টারফেইস প্রয়োগ করে।
  • দুই বা ততোধিক অ্যারে একত্রিত করতে PHP স্প্রেড অপারেটর ব্যবহার করুন।

Leave a Comment

Share this Doc

PHP স্প্রেড অপারেটর (Spread operator)

Or copy link

CONTENTS

Subscribe

×
Cancel