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


Mathematical Operations   in Category: पीएचपी   by amit

🕙 Posted on 2023-05-06 at 19:22:19


NULL (कुछ नहीं), INF (अनंत), NAN(संख्या नहीं), और गणित फ़ंक्शन

    NULL या null विशेष प्रकार का एक पूर्व-परिभाषित literal (शाब्दिक) है, जिसका उपयोग आमतौर पर एक चर (variable) नाम से (कुछ) मान को हटाने के लिए किया जाता है। पिछले पृष्ठ में , आपने देखा कि कैसे unset() फ़ंक्शन न केवल एक चर में मान को हटा देता है, बल्कि उस चर को भी नष्ट कर देता है। इसका परिणाम ऐसी स्थिति में होगा, जहां वह चर नाम मौजूद नहीं है। यह निश्चित त्रुटि का कारण बनता है।

    हालाँकि, null उपयोग करने से इस प्रकार का ERROR नहीं होता है। आपको यह भी ध्यान रखना चाहिए कि कोई भी वेरिएबल नाम जो मौजूद नहीं है, चाहे वह अपरिभाषित (परिभाषित नहीं) हो या वह unset() फ़ंक्शन द्वारा नष्ट हो गया हो, उस वेरिएबल नाम के लिए मान null होगा। null बिना किसी मूल्य के एक चर (variable) या स्थिरांक (constant) का प्रतिनिधित्व करता है। आप null मूल्य के साथ एक स्थिर नाम निर्दिष्ट कर सकते हैं, लेकिन इसे बाद में बदला नहीं जा सकता!

<?php
  echo null; // आउटपुट कुछ भी नहीं है
  echo '<br />'; echo print( null ); // print() फ़ंक्शन के कारण आउटपुट 1
  echo '<br />'; echo (int) null; // आउटपुट 0 (शून्य)
  echo '<br />'; echo (float) null; // आउटपुट 0 (शून्य)
  echo '<br />'; echo (bool) null; // आउटपुट कुछ नहीं (false)
?>

    एक चर या स्थिर नाम को null टाइप कास्ट करने को PHP 7.2.0 में हटा दिया (DEPRECATED) है, और PHP 8.0.0 में हटा दिया (REMOVED) है। आपको उस चर या स्थिर नाम को null मैन्युअल रूप से असाइन करना चाहिए। आपको अपने स्थानीय कंप्यूटर या रिमोट सर्वर पर स्थापित PHP के संस्करण की सावधानीपूर्वक जांच करनी चाहिए।

अनंत INF

    जब किसी संख्या को 0(शून्य) से विभाजित किया जाता है, तो परिणाम अनंत होता है । लेकिन, कंप्यूटर इंजीनियरों और प्रोग्रामरों ने हमें (आम जनता, वेब-डेवलपर्स आदि) किसी भी संख्या को सीधे 0 (शून्य) से विभाजित करने की अनुमति नहीं दी है। यह ERROR का कारण बनेगा, क्योंकि कोई भी (ऋणात्मक या धनात्मक) संख्या अनंत का प्रतिनिधित्व नहीं कर सकता है! अलग-अलग प्रोग्रामिंग लैंग्वेज अनंत का प्रतिनिधित्व करने के लिए अलग-अलग कीवर्ड का उपयोग करते हैं ।

NAN

    NAN एक आरक्षित कीवर्ड है, आमतौर पर यह जांचने के लिए प्रयोग किया जाता है कि कोई literal (शाब्दिक) संख्यात्मक है या नहीं (यानी, संख्या नहीं है)। आपको इन आरक्षित कीवर्ड्स के लिए प्रत्येक प्रोग्रामिंग भाषाओं के आधिकारिक दस्तावेज का संदर्भ लेना चाहिए, अर्थात null PHP में केस-संवेदी नहीं है, लेकिन INF और NAN दोनों PHP में केस-संवेदी हैं। (null , Infinity और NaN जावास्क्रिप्ट में आरक्षित कीवर्ड हैं, जो केस-संवेदी हैं।)

<?php
  var_dump ( NAN); // केस-संवेदी
  echo '<br />'; var_dump ( INF); // केस-संवेदी
  echo '<br />'; var_dump (2/0); // ERROR को प्रदर्शित करता है (नीचे दिखाए अनुसार )
?>

float(NAN)
float(INF)

Fatal error: Uncaught DivisionByZeroError: Division by zero in C:\xampp\htdocs\php_project\phptest.php:4 Stack trace: #0 {main} thrown in C:\xampp\htdocs\php_project\phptest.php on line 4

गणित फंक्शन

    प्रत्येक प्रोग्रामिंग लैंग्वेज में कुछ बिल्ट-इन फंक्शन होते हैं, जो हमारी स्क्रिप्ट/कोड को ERRORs के बिना चलाने के लिए आवश्यक होते हैं। ये अंतर्निहित कार्य प्रोग्रामर और वेब-डेवलपर्स को BUG (अप्रत्याशित परिणाम) से बचने में सक्षम बनाते हैं। ये:

pi()याM_PI

    आपने पिछले पृष्ठ में देखा है, कि हम 22 को 7 से विभाजित करके PI का मान प्राप्त कर सकते हैं, हालांकि, वास्तविक मान भिन्न है और इसे Math फ़ंक्शन, pi()या इसके समतुल्य स्थिरांक M_PI द्वारा प्राप्त किया जा सकता है। पूर्व-निर्धारित गणित फ़ंक्शन pi() कोई तर्क नहीं लेता है, अर्थात कोष्ठक के अंदर कोई मान नहीं रखा जाना चाहिए।

<?php
  var_dump( pi() ); // float(3.141592653589793)
  echo '<br />';   var_dump( M_PI ); // float(3.141592653589793)
  echo '<br />';   var_dump( 21.991148575/7 ); // float(3.1415926535714287)
?>

fdiv() और fmod()

    आपने / (डिवीजन ऑपरेटर) और % (मापांक modulus ऑपरेटर) देखा होगा, जो आमतौर पर प्रोग्रामरों द्वारा उपयोग किए जाते हैं। हालाँकि, जब किसी फ़्लोटिंग पॉइंट नंबर को किसी अन्य फ़्लोटिंग पॉइंट नंबर या पूर्णांक (integer) (जैसा कि ऊपर उदाहरण में वर्णित है), से विभाजित किया जाता है या इसके विपरीत पूर्णांक को किसी फ़्लोट से विभाजित किया जाता है, तो परिणाम अप्रत्याशित (unexpected) हो सकते हैं। इसलिए, इन दो पूर्व-निर्धारित गणित फ़ंक्शन का उपयोग ऐसे कार्यों के सही परिणाम प्राप्त करने के लिए किया जाता है:

<?php
  echo fdiv(22, -7); // -3.1428571428571
  echo '<br />';   echo fdiv(-22, 0); // -INF
  echo '<br />';   echo fmod(22, -7); // 1 (शेष remainder का चिह्न मॉड्यूलस ऑपरेशन के मामले में पहले तर्क द्वारा तय किया जाता है, जिसे दूसरे तर्क से विभाजित किया जाता है)
  echo '<br />';   echo fmod(-22, -7); // -1
  echo '<br />';   echo fmod(-22, 7); // -1
?>

abs(), pow(), sqrt() और rand() फ़ंक्शन

    abs() निरपेक्ष (absolute) फ़ंक्शन है (यह ऋणात्मक संख्याओं को धनात्मक संख्याओं में परिवर्तित करता है) , pow() फ़ंक्शन power of है (घातीय exponential ऑपरेटर के बराबर, लेकिन आमतौर पर फ्लोटिंग पॉइंट नंबरों के लिए उपयोग किया जाता है)pow() फ़ंक्शन दो तर्कों को , (अल्पविराम) से अलग करता है, दूसरी संख्या पहली संख्या की घातीय शक्ति है। sqrt() वर्गमूल फलन है। जब ऋणात्मक संख्या को sqrt() फ़ंक्शन के कोष्ठकों के अंदर रखा जाता है, तो आउटपुट NAN (संख्या नहीं) होता है। rand() यादृच्छिक आउटपुट फ़ंक्शन है। आपको rand() फ़ंक्शन के अंदर या तो कोई तर्क नहीं देना चाहिए या दो तर्कों को , (अल्पविराम) से अलग करके रखना चाहिए जिनके बीच कोई भी यादृच्छिक मान दिया जाता है।

<?php
  echo abs( -25.6 ); // 25.6
  echo '<br />';   echo pow( 3.2, 4 ); // 3.2*3.2*3.2*3.2* that is, 104.8576
  echo '<br />';   echo sqrt( -8.1 ); // ऋणात्मक संख्याओं के लिए NAN को आउटपुट करता है
  echo '<br />';   echo sqrt( 8.1 ); // outputs 2.8460498941515
  echo '<br />';   echo rand(); // किसी भी यादृच्छिक संख्या को आउटपुट करता है (अधिकतम 10 अंकों का)
  echo '<br />';   echo rand( -10, 10 ); // आउटपुट संख्या -10 (न्यूनतम) और 10 (अधिकतम) के बीच
?>

round(), ceil() और floor() फ़ंक्शन

    round() फ़ंक्शन भिन्नात्मक (फ़्लोटिंग पॉइंट) संख्या को निश्चित सीमा तक (दशमलव बिंदु के बाद) राउंड करता है जब दूसरा तर्क दिया जाता है, अन्यथा यह उस संख्या को पूर्णांक मान तक ले जाएगा। भिन्नात्मक मान को निश्चित सीमा तक राउंड करने के लिए गणित का सामान्य नियम लागू होता है। अर्थात्, यदि दशमलव बिंदु के बाद अंतिम अंक (दाईं ओर) 4 (चार) से अधिक है, तो इसके बाईं ओर का अंक 1 से बढ़ जाता है, ...

<?php
  echo round( 2.8460498941515 ); // outputs 3
  echo '<br />';   echo round( 3.141592653589793, 4 ); // outputs 3.1416
  echo '<br />';   echo round( pi(), 2 ); // 3.14
?>

    उपरोक्त उदाहरण में, यदि 2.8460498941515 के अंतिम अंक को राउंड किया जाता है, तो इसका मान 2.846049894152 , 2.84604989415, 2.8460498942, 2.846049894, 2.84604989, 2.8460499, 2.846049, 2.84605, 2.8461, 2.846, 2.85, 2.9, और अंत में 3 होगा।

    ceil() फ़ंक्शन भिन्नात्मक मान को ऊपर की ओर राउंड करता है (दशमलव बिंदु से पहले का मान 1 से बढ़ जाता है), और floor() फ़ंक्शन भिन्नात्मक मान को नीचे की ओर राउंड करता है (दशमलव बिंदु से पहले का मान 1 से कम हो जाता है)। ceil() और floor() फ़ंक्शन केवल एक तर्क लेते हैं, अर्थात केवल एक फ़्लोटिंग पॉइंट मान कोष्ठक के भीतर रखा जाना चाहिए, और दोनों मामलों में आउटपुट एक पूर्णांक मान है, लेकिन data-type फ़्लोट प्रकार का है।

<?php
  var_dump( ceil( 4.345 ) ); // आउटपुट float(5) लेकिन round() फ़ंक्शन 4 रिटर्न करता है
  echo '<br />';   var_dump( floor( 4.567 ) ); // आउटपुट float(4) लेकिन round() फ़ंक्शन 5 रिटर्न करता है
?>

min(), max(), log() और अन्य गणित फ़ंक्शन:

    min() और max() गणित फ़ंक्शन हैं, जिनमें से दोनों का उपयोग array के विभिन्न मदों में संग्रहीत न्यूनतम और अधिकतम मान खोजने के लिए किया जाता है। Array एक मिश्रित (compound) डेटा-प्रकार है, जिसे अगले पृष्ठों में समझाया जाएगा।

<?php
  echo max(2, 3, 1, 6, 7); // outputs 7
  echo '<br />';   echo max( array(2, 4, 5) ); // outputs 5

  echo '<br />';   echo min(2, 3, 1, 6, 7); // outputs 1
  echo '<br />';   echo min( array(2, 4, 5) ); // outputs 2

  echo '<br />';   echo log( -1 ); // outputs NAN
  echo '<br />';   echo log( 1 ); // outputs 0 (zero)
?>

    अन्य गणितीय फ़ंक्शन का विशेष मामलों के लिए उपयोग किया जाता है, जैसे sine θ, cosine θ, tan θ, आदि। bindec() (बाइनरी से दशमलव), decbin() (दशमलव से बाइनरी), dechex() (दशमलव से हेक्साडेसिमल), hexdec() (हेक्साडेसिमल से दशमलव), decoct() (दशमलव से अष्टक), octdec() (अष्टक से दशमलव), deg2rad() (डिग्री से रेडियन), rad2deg() (रेडियन से डिग्री), आदि स्व-व्याख्यात्मक हैं, अर्थात इन फ़ंक्शन का उपयोग एक आधार प्रणाली को दूसरे आधार प्रणाली में बदलने के लिए किया जाता है।

    कई अन्य गणित फ़ंक्शन हैं, जिनका उपयोग मूल्यों और उनके डेटा-प्रकारों की जांच के लिए किया जाता है, और वे या तो सही (true) या गलत (false) देते हैं । इन फ़ंक्शन (अन्य समान फ़ंक्शन सहित) को अन्य डेटा-प्रकारों आदि की जांच करने के लिए, अगले पृष्ठों में समझाया जाएगा।


Leave a Comment: