परिचय
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 से 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