payment by upi: sinhamit@icici or payment by bank account name: amit kumar sinha, account number: 2646728782 IFSC code: KKBK0005660 SWIFT: KKBKINBB

Please support if you like my work by payment through upi: sinhamit@icici or payment by bank

account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB


Operators   in Category: पीएचपी   by amit

🕙 Posted on 2023-05-27 at 14:05:34


ऑपरेटर्स

    पिछले पृष्ठ में, आपने फ्लोटिंग पॉइंट नंबरों पर कुछ सरल अंकगणितीय (arithematic) ऑपरेशन और अन्य प्रकार के ऑपरेटरों से परिचय देखा है। आपने स्ट्रिंग्स के बारे में और अधिक विषय में . संयोजन (concate­nation) और .= संयोजन असाइनमेंट (concate­nation assignment) ऑपरेटरों को भी देखा है । आप पिछले पृष्ठों में पहले से ही विभिन्न डेटा-प्रकारों और उनकी कार्यक्षमताओं (function­alities) के बारे में जान चुके हैं ।

आइए, विभिन्न प्रकार के ऑपरेटरों में गहराई से जानें।

    आपको + (जोड़, यानी 21 + 2 = 23), - (घटाव, यानी 21 - 2 = 19), * (गुणा, यानी 21 × 2 = 42), / (भाग, यानी 21 /2 = 10.5), % (शेष, यानी 21% 2 = 1 ), और ** (एक्सपोनेंट, 21 ** 2 = 441) का कुछ बुनियादी ज्ञान होना चाहिए। लेकिन, निम्नलिखित उदाहरणों में परिणाम भिन्न होंगे, क्योंकि कंप्यूटर मेमोरी (RAM) प्रत्येक चर (variable) को विशिष्ट स्थान पर संग्रहीत करती है। जब एक चर नाम, अर्थात $var2 पर कई ऑपरेशन लागू होते हैं, निम्नलिखित उदाहरण में, $var2 का मान हर बार अपडेट किया जाता है।

असाइनमेंट ऑपरेटर्स

    सभी असाइनमेंट ऑपरेटर्स एक अभिव्यक्ति (expression) (या एक शाब्दिक) के मान को एक चर/स्थिर नाम पर दायें से बायें (right to left) रखते हैं। इसका अर्थ है कि बायाँ ऑपरेंड (operand) दाईं ओर के अभिव्यक्ति (expression) के मान पर सेट हो जाता है। किसी भी असाइनमेंट ऑपरेटर के बाद कुछ भी एक अभिव्यक्ति (expression) है। PHP एक अभिव्यक्ति-उन्मुख (expression-oriented) भाषा है, और लगभग सब कुछ एक अभिव्यक्ति है। आप पहले ही पिछले पृष्ठ में सरल असाइनमेंट ऑपरेटर देख चुके हैं, जब एक चर नाम के लिए एक शाब्दिक मान निर्दिष्ट किया गया है।

<?php $my_var = 34; // सरल असाइनमेंट ऑपरेटर ?>

<?php $new_var = $my_var; echo $new_var; // आउटपुट 34 है ?>

<?php $other_var = "$my_var"; echo $other_var; // आउटपुट 34 है ?>

    उपरोक्त उदाहरणों में,$my_var34 के एक शाब्दिक मान के साथ असाइन किया गया है। 34 एक अभिव्यक्ति है, जो स्वयं का मूल्यांकन करता है, और उसके बाद $my_var को असाइन किया जाता है। $new_var और $other_var को, चर $my_var (सीधे directly या दोहरे उद्धरण चिह्नों की एक जोड़ी के भीतर के साथ सौंपा (निर्दिष्ट किया) गया है। सिंगल कोट्स की एक जोड़ी का प्रयोग न करें! उपरोक्त कोड के दूसरे और तीसरे उदाहरण में,$my_varपहले मूल्यांकन किया जाता है, और फिर मान को संबंधित चर नामों को सौंपा जाता है। उपरोक्त उदाहरणों की प्रत्येक पंक्ति में ; (सेमी-कोलन) टर्मिनेटर का उपयोग किया जाता है, और इस प्रकार, ये कथन (statement) हैं। निम्नलिखित उदाहरण में भी, $var1 और $var2 क्रमशः दो शाब्दिक मान, 2 और 21 निर्दिष्ट किये गए हैं।

<?php $var1 = 2; $var2 = 21; // किसी भी पूर्णांक मान के दो चर घोषित किए जा सकते हैं। ?>

<?php $var2 += $var1; // $var2 = $var2 + $var1;
  echo $var2; // 21 + 2 = 23 ?>
<br />

<?php $var2 -= $var1; // $var2 = $var2 - $var1;
  echo $var2; // अब, $var2 का मान 23 है, और इसलिए 23 - 2 = 21 ?>
<br />

<?php $var2 *= $var1; // $var2 = $var2 * $var1;
  echo $var2; // अब, $var2 का मान 21 है, और इसलिए 21 × 2 = 42 ?>
<br />

<?php $var2 /= $var1; // $var2 = $var2 / $var1;
  echo $var2; // अब, $var2 का मान 42 है, और इसलिए 42/2 = 21 ?>
<br />

<?php $var2 %= $var1; // $var2 = $var2 % $var1;
  echo $var2; // अब, $var2 का मान 21 है, और इसलिए 21% 2 = 1 ?>
<br />

<?php $var2 **= $var1; // $var2 = $var2 ** $var1;
  echo $var2; // अब, $var2 का मान 1 है, और इसलिए 1 ** 2 = 1 ?>
<br />

यदि आप उपरोक्त उदाहरणों से भ्रमित हैं, तो निम्नलिखित सरल व्याख्या पर विचार करें:

<?php
  $a = 21 + 2; echo $a; // आउटपुट 23 है
  echo '<br />';
  $b = 21 - 2; echo $b; // आउटपुट 19 है
  echo '<br />';
  $c = 21 * 2; echo $c; // आउटपुट 42 है
  echo '<br />';
  $d = 21 / 2; echo $d; // आउटपुट 10.5 है
  echo '<br />';
  $e = 21 % 2; echo $e; // आउटपुट 1 है
  echo '<br />';
  $f = 21 ** 2; echo $f; // आउटपुट 441 है

  echo '<br />';   $x = 21;
  $x += 2;   echo $x; // आउटपुट 23 है
  echo '<br />';
  $x -= 2;   echo $x; // आउटपुट 21 है
  echo '<br />';
  $x *= 2;   echo $x; // आउटपुट 42 है
  echo '<br />';
  $x /= 2;   echo $x; // आउटपुट 21 है
  echo '<br />';
  $x %= 2;   echo $x; // आउटपुट 1 है
  echo '<br />';
  $x **= 2;   echo $x; // आउटपुट 1 है
  echo '<br />';
  $y += $x; echo $y; // आउटपुट ERROR है जैसा कि नीचे दिखाया गया है:
?>


Warning: Undefined variable $y in C:\xampp\htdocs\php_project\phptest.php on line 27
1

    उपरोक्त उदाहरण में आप इसे देख सकते हैं $a, $b, $c, $d, $e और $f सरल अंकगणितीय अभिव्यक्तियों (arithematic expressions) के साथ असाइन किए गए हैं, और जैसा हमने सोचा है, आउटपुट अपेक्षित हैं। लेकिन, व्यावहारिक दुनिया में, आपको CMS (सामग्री प्रबंधन प्रणाली) या WEBSITE के बाहर के उपयोगकर्ताओं से डेटा प्राप्त करना होगा। आपको किसी व्यक्ति की उम्र की गणना करनी होगी (उदाहरण के लिए कानूनी अनुबंध करने के लिए 18 वर्ष और उससे अधिक), वस्तुओं (items) की संख्या के साथ मूल्य (price) गुणा करना, आदि।

    इसलिए, चर $x पहले अभिव्यक्ति 21 के साथ निर्दिष्ट किया गया है, और उसके बाद इसे 2 के साथ जोड़ा गया है। अब, चर $x का मान 23 है। फिर, $x को 2 से घटाया जाता है, और अब इसका मान 21 है, और इसी तरह आगे कई ऑपरेशन लागू होते हैं, ... उपरोक्त उदाहरण की अंतिम पंक्ति में, आप देख सकते हैं कि $y को सीधे += (जोड़ असाइनमेंट) ऑपरेटर के साथ लागू किया गया है, $x के मूल्य के साथ, जो ERROR को आउटपुट करता है। आपको ध्यान देना चाहिए कि केवल = (सरल असाइनमेंट) ऑपरेटर कथन (statement) के बाईं ओर एक नए परिभाषित चर/स्थिर नाम के लिए शाब्दिक मान प्रदान करता है। अन्य असाइनमेंट ऑपरेटरों के लिए, आपको पहले कुछ मान, या तो 0 (शून्य) null, या "" (खाली स्ट्रिंग), आदि के साथ एक चर नाम घोषित करना होगा।

    अगले पेज में, आप ऑपरेटर वरीयता (Operators Precedence) और विभिन्न ऑपरेटरों की साहचर्यता (Associativity) के बारे में जानेंगे । ऑपरेटर वरीयता तय करती है कि एक अभिव्यक्ति में कई ऑपरेटरों के मौजूद होने पर अन्य ऑपरेटरों पर किस ऑपरेटर को प्राथमिकता दी जानी चाहिए। साहचर्यता (Associativity) यह तय करती है कि किस दिशा से (बाएं से दाएं, या दाएं से बाएं) ऑपरेटरों को लागू किया जाना चाहिए, जब दो या दो से अधिक ऑपरेटरों के पास एक अभिव्यक्ति में समान स्तर की प्राथमिकता होती है।

<?php $abc = $mno = 24;
  echo $abc, '<br />', $mno; // दोनों चर से प्रत्येक आउटपुट 24 है। ?>

    आप उपरोक्त कोड को कुछ अन्य प्रोग्रामर की स्क्रिप्ट में पा सकते हैं। यह गलत नहीं है, लेकिन इससे बचना चाहिए, और जब आप इसे देखें तो आपको भ्रमित नहीं होना चाहिए। असाइनमेंट ऑपरेटर के पास दाएं से बाएं साहचर्यता (associativity) है, जिसका अर्थ है कि पहला शाब्दिक मूल्य 24 $mno को असाइन किया जाता है, और इसका मूल्यांकन किया जाता है और फिर वेरिएबल नाम, $abc को असाइन किया जाता है।


Leave a Comment: