match কনস্ট্রাক্ট

match কনস্ট্রাক্টটি PHP 8.0-এ উপস্থিত হয়েছে এবং switch-এর তুলনায় শাখা তৈরি করার একটি আরও সংক্ষিপ্ত এবং নিরাপদ উপায় প্রদান করে। এটি তুলনার জন্য একটি এক্সপ্রেশন নেয় এবং প্রথম মিলে যাওয়া শর্তের মান ফেরত দেয়। switch-এর বিপরীতে, match কঠোর তুলনা (===) সম্পাদন করে এবং break-এর প্রয়োজন হয় না।

সিনট্যাক্স

php$result = match ($value) {
  condition1 => result1,
  condition2 => result2,
  ...
  default => default_result
};

উদাহরণ

একটি সংখ্যার সরল মিল:

php<?php
  $res = match (2) {
    1 => 'One',
    2 => 'Two',
    3 => 'Three',
    default => 'Unknown'
  };
  echo $res;
?>

কোড এক্সিকিউট করার ফলাফল:

php'Two'

উদাহরণ

একাধিক শর্ত সহ মিল:

php<?php
  $age = 25;
  $res = match (true) {
    $age < 18 => 'Child',
    $age >= 18 && $age < 65 => 'Adult',
    $age >= 65 => 'Senior'
  };
  echo $res;
?>

কোড এক্সিকিউট করার ফলাফল:

php'Adult'

উদাহরণ

অ্যারে সহ ব্যবহার:

php<?php
  $arr = [1, 2, 3];
  $res = match ($arr) {
    [1, 2, 3] => 'First sequence',
    [4, 5, 6] => 'Second sequence',
    default => 'Other sequence'
  };
  echo $res;
?>

কোড এক্সিকিউট করার ফলাফল:

php'First sequence'

আরও দেখুন

  • switch অপারেটর,
    যা শাখা তৈরি করার একটি বিকল্প উপায় প্রদান করে
  • if ফাংশন,
    যা শর্তসাপেক্ষ স্টেটমেন্ট এক্সিকিউট করে