পরিচয়
C শৈলী বৃদ্ধি এবং হ্রাস অপারেটর ++ দ্বারা প্রতিনিধিত্ব করে এবং -- যথাক্রমে PHP-তেও সংজ্ঞায়িত করা হয়। নাম অনুসারে, ++ ইনক্রিমেন্ট অপারেটর অপারেন্ড ভেরিয়েবলের মান 1 দ্বারা বৃদ্ধি করে। ডিক্রিমেন্ট অপারেটর -- 1 দ্বারা মান হ্রাস করে। উভয়ই ইউনারী অপারেটর কারণ তাদের শুধুমাত্র একটি অপারেন্ড প্রয়োজন। এই অপারেটরগুলি (++ বা --) উপসর্গ বা পোস্টফিক্স পদ্ধতিতে ব্যবহার করা যেতে পারে, হয় একটি অভিব্যক্তি হিসাবে বা আরও জটিল অভিব্যক্তিতে অন্যান্য অপারেটরের সাথে।
সিনট্যাক্স
$x=5; $x=5; $y=5; $x++; //postfix increment $y--; //postfix decrement ++$y; //prefix increment --$x; //prefix decrement
যখন স্বাধীনভাবে ব্যবহার করা হয়, পোস্টফিক্স এবং প্রিফিক্স ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটর একইভাবে আচরণ করে। ফলস্বরূপ, $x++ এবং ++$x উভয়ই $x এর 1 দ্বারা বৃদ্ধির মান। একইভাবে $y-- সেইসাথে --$y উভয়ের মূল্য $y 1 দ্বারা হ্রাস পায়
নিম্নলিখিত কোড পোস্ট/প্রিফিক্স ফ্যাশনে ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরের প্রভাব দেখায়
উদাহরণ
<?php $x=5; $y=5; $x++; //postfix increment $y--; //postfix decrement echo "x = $x y = $y" . "\n"; ++$y; //prefix increment --$x; //prefix decrement echo "x = $x y = $y" . "\n";; ?>
আউটপুট
নিম্নলিখিত ফলাফল প্রদর্শিত হবে
x = 6 y = 4 x = 5 y = 5
অ্যাসাইনমেন্ট এক্সপ্রেশনে ব্যবহৃত হলে, পোস্টফিক্স ++ বা -- অপারেটরের প্রাধান্য =এর চেয়ে কম থাকে। তাই $a=$x++ ফলাফল $a=$x এর পরে $x++। অন্যদিকে, উপসর্গ ++/-- অপারেটরগুলির অগ্রাধিকার =এর চেয়ে বেশি। তাই $b=--$y মূল্যায়ন করা হয় প্রথমে --$y করে এবং তারপর ফলাফল $y কে $b
নির্ধারণ করেউদাহরণ
<?php $x=5; $y=5; $a=$x++; //postfix increment echo "a = $a x = $x" . "\n"; $b=--$y; //prefix decrement echo "b = $b y = $y" . "\n"; ?>
আউটপুট
নিম্নলিখিত ফলাফল প্রদর্শিত হবে
a = 5 x = 6 b = 4 y = 4
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