Spaceship Operator (<=>) এর ব্যবহার

Spaceship Operator (স্পেসশিপ অপারেটর) - পিএইচপি (PHP 7) - Computer Programming

366

Spaceship Operator (<=>) PHP 7-এ প্রবর্তিত একটি নতুন অপারেটর, যা দুটি মানের মধ্যে তুলনা করতে ব্যবহৃত হয়। এটি বিশেষভাবে sort বা usort এর মতো ফাংশনগুলিতে সুবিধাজনক। Spaceship Operator-কে Combined Comparison Operator নামেও ডাকা হয়, কারণ এটি তিনটি ভিন্ন মান রিটার্ন করতে পারে, নির্ভর করে প্রথম মানটি দ্বিতীয় মানের তুলনায় ছোট, সমান, বা বড় কিনা।


Spaceship Operator (<=>) এর কাজ

<=> অপারেটরটি দুটি মান তুলনা করে এবং তিনটি ভিন্ন ফলাফল দিতে পারে:

  • যদি বাম দিকের মান ছোট হয়, তাহলে -1 রিটার্ন করে।
  • যদি বাম ও ডান দিকের মান সমান হয়, তাহলে 0 রিটার্ন করে।
  • যদি বাম দিকের মান বড় হয়, তাহলে 1 রিটার্ন করে।

সাধারণ গঠন:

$result = $a <=> $b;

Spaceship Operator এর উদাহরণ

১. সাধারণ উদাহরণ

<?php
echo 5 <=> 10;   // আউটপুট হবে: -1, কারণ 5 ছোট 10 এর তুলনায়
echo 10 <=> 10;  // আউটপুট হবে: 0, কারণ 10 সমান 10 এর সাথে
echo 15 <=> 10;  // আউটপুট হবে: 1, কারণ 15 বড় 10 এর তুলনায়
?>

২. String তুলনায় ব্যবহার

Spaceship Operator স্ট্রিংগুলির তুলনা করতেও ব্যবহৃত হতে পারে।

<?php
echo "apple" <=> "banana";   // আউটপুট হবে: -1, কারণ 'apple' বর্ণমালায় 'banana' এর আগে আসে
echo "apple" <=> "apple";    // আউটপুট হবে: 0, কারণ দুটি স্ট্রিং সমান
echo "banana" <=> "apple";   // আউটপুট হবে: 1, কারণ 'banana' বর্ণমালায় 'apple' এর পরে আসে
?>

৩. Array Sorting এ Spaceship Operator ব্যবহার

Spaceship Operator usort() ফাংশনের মধ্যে কাস্টম তুলনায়ও ব্যবহৃত হতে পারে, যা একটি অ্যারেকে নির্দিষ্ট ক্রমে সাজাতে সহায়ক।

<?php
$numbers = [3, 2, 5, 1, 4];

// ছোট থেকে বড় ক্রমে সাজানো
usort($numbers, function($a, $b) {
    return $a <=> $b;
});

print_r($numbers);  // আউটপুট হবে: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

// বড় থেকে ছোট ক্রমে সাজানো
usort($numbers, function($a, $b) {
    return $b <=> $a;
});

print_r($numbers);  // আউটপুট হবে: Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
?>

এখানে, usort() ফাংশনে <=> ব্যবহার করে আমরা ছোট থেকে বড় এবং বড় থেকে ছোট সাজাতে পেরেছি।

৪. অ্যাসোসিয়েটিভ অ্যারেতে ব্যবহার

অ্যাসোসিয়েটিভ অ্যারের ভ্যালু বা কী ব্যবহার করেও <=> অপারেটর দিয়ে কাস্টম সটিং করা যায়।

<?php
$people = [
    ["name" => "John", "age" => 30],
    ["name" => "Alice", "age" => 25],
    ["name" => "Bob", "age" => 35],
];

// বয়স অনুসারে ছোট থেকে বড় ক্রমে সাজানো
usort($people, function($a, $b) {
    return $a['age'] <=> $b['age'];
});

print_r($people);
?>

এখানে, $people অ্যারেটি age এর উপর ভিত্তি করে ছোট থেকে বড় ক্রমে সাজানো হয়েছে।


Spaceship Operator এর সুবিধা

  1. কোডের সরলতা: Spaceship Operator if শর্ত ব্যবহার না করে এক লাইনে তুলনা করতে দেয়।
  2. কোড রিডেবিলিটি: <=> অপারেটরটি কোডকে সহজ এবং পড়তে সুবিধাজনক করে তোলে।
  3. কাস্টম সটিং: sort বা usort এর মতো ফাংশনে কাস্টম ক্রমবিন্যাসে সহায়ক।
  4. সংক্ষিপ্ত এবং কার্যকর কোড: এটি কোডকে সংক্ষিপ্ত করে এবং কার্যকরভাবে তুলনা করতে সহায়ক হয়।

সারসংক্ষেপ

Spaceship Operator (<=>) PHP 7-এর একটি শক্তিশালী অপারেটর, যা দুটি মান তুলনা করতে এবং কোডকে সরল করতে ব্যবহৃত হয়। এটি সহজেই sort, usort ইত্যাদির মধ্যে কাস্টম সটিং করতে সহায়ক। <=> অপারেটর তিনটি মান রিটার্ন করে—-1, 0, বা 1—যা কোডকে আরও সংক্ষিপ্ত ও রিডেবল করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...