PHP Function Call By Value and Call By Reference Best Tutorial 2025

Call By Value और Call By Reference: PHP में फंक्शन को दो तरीके से कॉल किया जा सकता है:

  • Call by Value
  • Call by Reference

इन दोनों तरीकों में फंक्शन पैरामीटर को पास करने और उनकी values को हैंडल करने का तरीका अलग होता है। आइए इसे विस्तार से समझते हैं।

Call by Value:

Call by Value में फंक्शन को पैरामीटर की एक कॉपी पास की जाती है। इसका मतलब है कि फंक्शन के अंदर जो भी बदलाव किए जाते हैं, वे केवल उस कॉपी पर लागू होते हैं, न कि original value पर।

Call by Value का व्यवहार

  • फंक्शन पैरामीटर की कॉपी के साथ काम करता है।
  • Original variable में कोई बदलाव नहीं होता।

Call by Value का Example

<?php
  function changeValue($num) {
      $num += 10; // केवल कॉपी वैल्यू को बदला जाएगा
      echo "Function के अंदर की वैल्यू: $num<br>";
  }
  
  $original = 20;
  changeValue($original);
  echo "Original वैल्यू: $original"; // Original वैल्यू नहीं बदलेगी
  
  /*Output
  
  Function के अंदर की वैल्यू: 30  
  Original वैल्यू: 20
  
  */
?>
PHP

Call by Reference:

Call by Reference में Functions को original variable का reference (पता) पास किया जाता है। इसका मतलब है कि फंक्शन के अंदर किए गए बदलाव original value को भी प्रभावित करेंगे।

Call by Reference का व्यवहार

  • Original variable में भी बदलाव होता है।
  • फंक्शन parameter के साथ original memory location पर काम करता है।

Call by Reference का Example

<?php
  function changeValue(&$num) { // '&' रेफरेंस को दर्शाता है
      $num += 10; // Original वैल्यू को बदला जाएगा
      echo "Function के अंदर की वैल्यू: $num<br>";
  }
  
  $original = 20;
  changeValue($original);
  echo "Original वैल्यू: $original"; // Original वैल्यू बदल जाएगी
  
  /*
    Output
    Function के अंदर की वैल्यू: 30  
    Original वैल्यू: 30
  */
?>
PHP

Call by Value और Call by Reference के बीच अंतर:

ParameterCall by ValueCall by Reference
Definitionपैरामीटर की कॉपी पास की जाती है।Original variable का reference पास किया जाता है।
Effect on Original VariableOriginal variable पर कोई असर नहीं होता।Original variable बदल जाता है।
Syntax$parameter&$parameter
Use Caseजब original value को सुरक्षित रखना हो।जब original value को modify करना हो।

Use Case:

Call by Value:

  • जब आप चाहते हैं कि फंक्शन original value को modify न करे।
  • Example: Calculations, Data Processing जहां original data को सुरक्षित रखना हो।

Call by Reference:

  • जब आप चाहते हैं कि फंक्शन original value को बदल दे।
  • Example: जब आपको किसी variable को update करना हो, जैसे configuration settings.

Conclusion:

  • Call by Value: पैरामीटर की कॉपी के साथ काम करता है, जिससे original value सुरक्षित रहती है।
  • Call by Reference: original variable के साथ काम करता है, जिससे original value बदल जाती है।
    दोनों का उपयोग उनकी जरूरतों के आधार पर किया जाता है।

error: Content is protected!! You are not allowed to copy.