কম্পিউটার টিউটোরিয়াল

PHP ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটর (Increment/Decrement Operators)


পরিচিতি

C-স্টাইল ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর ++ এবং -- PHP-তে ডিফাইন করা রয়েছে। নাম অনুযায়ী, ++ ইনক্রিমেন্ট অপারেটর অপারেন্ড ভেরিয়েবলের মান ১ বাড়ায়। -- ডিক্রিমেন্ট অপারেটর মান ১ কমায়। দুটোই যুনারি (unary) অপারেটর কারণ এদের শুধু এক অপারেন্ড প্রয়োজন। এগুলো প্রিফিক্স বা পোস্টফিক্স রূপে ব্যবহার করা যায়, একটি এক্সপ্রেশন হিসেবে বা অন্য অপারেটরসহ কমপ্লেক্স এক্সপ্রেশনে।

সিনট্যাক্স

$x=5;
$y=5;
$x++; // পোস্টফিক্স ইনক্রিমেন্ট
$y--; // পোস্টফিক্স ডিক্রিমেন্ট
++$y; // প্রিফিক্স ইনক্রিমেন্ট
--$x; // প্রিফিক্স ডিক্রিমেন্ট

স্বতন্ত্রভাবে ব্যবহার করলে পোস্টফিক্স এবং প্রিফিক্স ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটর একইভাবে আচরণ করে। ফলে, $x++ এবং ++$x উভয়ই $x-র মান ১ বাড়ায়। একইভাবে $y-- এবং --$y উভয়ই $y-র মান ১ কমায়।

নিচের কোডে ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরের পোস্ট/প্রিফিক্স আচরণ দেখানো হয়েছে—

উদাহরণ

<?php
$x=5;
$y=5;
$x++; // পোস্টফিক্স ইনক্রিমেন্ট
$y--; // পোস্টফিক্স ডিক্রিমেন্ট
echo "x = $x y = $y" . "\n";
++$y; // প্রিফিক্স ইনক্রিমেন্ট
--$x; // প্রিফিক্স ডিক্রিমেন্ট
echo "x = $x y = $y" . "\n";
?>

আউটপুট

নিচের ফলাফল দেখানো হবে—

x = 6 y = 4 x = 5 y = 5

অ্যাসাইনমেন্ট এক্সপ্রেশনে ব্যবহার করলে, পোস্টফিক্স ++ বা -- অপারেটরের প্রেসিডেন্স =-এর চেয়ে কম। তাই $a=$x++ মানে $a=$x তারপর $x++। অন্যদিকে, প্রিফিক্স ++/-- অপারেটরদের প্রেসিডেন্স =-এর চেয়ে বেশি। তাই $b=--$y হলো প্রথম --$y তারপর ফলাফল $b-এ অ্যাসাইন।

উদাহরণ

<?php
$x=5;
$y=5;
$a=$x++; // পোস্টফিক্স ইনক্রিমেন্ট
echo "a = $a x = $x" . "\n";
$b=--$y; // প্রিফিক্স ডিক্রিমেন্ট
echo "b = $b y = $y" . "\n";
?>

আউটপুট

নিচের ফলাফল দেখানো হবে—

a = 5 x = 6 b = 4 y = 4

ASCII ক্যারেক্টার ভেরিয়েবলের সাথে ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেশন সম্ভব। ইনক্রিমেন্ট করলে ASCII সেটের পরবর্তী ক্যারেক্টরে চলে যায়। যদি ইনক্রিমেন্ট ASCII সেট ছাড়া চলে যায় (যেমন Z-এর পরে), তবে ASCII সেটের পরবর্তী রাউন্ড শুরু হয় (Z ইনক্রিমেন্ট করলে AA হয়)। নন-ASCII ক্যারেক্টার (A-Z, a-z, 0-9 ছাড়া) ইনক্রিমেন্ট অপারেটর উপেক্ষা করে।

উদাহরণ

<?php
$var='A';
for ($i=1; $i<=3; $i++){
    echo ++$var . "\n";
}
$var1=1;
for ($i=1; $i<=3; $i++){
    echo ++$var1 . "\n";
}
?>

আউটপুট

নিচের ফলাফল দেখানো হবে—

B C D 2 3 4

  1. জাভাতে ইনক্রিমেন্ট ও ডিক্রিমেন্ট অপারেটর সম্পর্কে আকর্ষণীয় তথ্য

  2. জাভাতে ইনক্রিমেন্ট ও ডিক্রিমেন্ট অপারেটর

  3. পাইথনে ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর

  4. পাইথনে ইনক্রিমেন্ট ও ডিক্রিমেন্ট অপারেটর (Increment and Decrement Operators in Python)