PHP in Hindi – References

Share on facebook
Share on google
Share on twitter
Share on linkedin
  • Introduction to PHP references in Hindi 
  • Assigning values using PHP references in Hindi 
  • Passing values using PHP references in Hindi 

Introduction to PHP References

PHP में references का अहम role होता है। References को अलग अलग purposes के लिए program में यूज़ कर सकते है। 

ये pointers की तरह नहीं होते है। उदाहरण के लिए निचे दिए हुए program को देखिये। 

<?php 
 
// Creating reference
$a =& $b;
$a = "Indian";

// It will print Indian
echo $a;

// It will also print Indian
echo $b;

?>

ऊपर दिए हुए program में जब दोनों variables की value print की जाती है तो दोनों same value print करते है क्योंकि दोनों एक ही value को refer कर रहे है।

Passing Undeclared Variable

यदि आप किसी ऐसे variable को assign, pass और return करने की कोशिश करते है जो क्रिएट नहीं किया गया है तो वह variable automatically create हो जाता है।

उदाहरण के लिए निचे दिए हुए program को देखिये।

<?php 
 
function myFunction(&$a)
{
  $a = 2;
  echo $a;
}
 
// Passing a without creating it
myFunction($a);

?>

ऊपर दिए गए उदाहरण में myFunction()को call करते समय एक ऐसा variable pass किया जा रहा है जिसको क्रिएट ही नहीं किया गया है।

लेकिन क्योंकि function में इस variable का reference पास किया जा रहा है इसलिए PHP इस variable को automatically क्रिएट कर देती है। 

If in For Loop

यदि आप for each लूप में भी referenced variables यूज़ करते है तो दोनों variables की value update होती है। उदाहरण के लिए निचे दिया हुआ program देखिये। 

<?php 
 
$arr = array(1,2,3,4,5);

// Creating reference
$number =& $value;
 
foreach($arr as $value);
{
  echo $value;
}

echo $number;
echo $value;

?>

ऊपर दिए उदाहरण में foreach लूप में $value variable को यूज़ किया गया है लेकिन इसके साथ साथ $number variable में भी array की value update होती है।

और जब दोनों variables को प्रिंट किया जाता है तो दोनों ही iteration की last value 5 print करते है।   

Assigning by Reference

एक variable को दूसरे variable की value assign करना बिलकुल simple है। इसके लिए आप ampersand(&) operator यूज़ करते है। आप इस प्रकार reference के द्वारा assign कर सकते है। 

$a =& $b 

जैसा की मैने आपको पहले बताया की PHP में reference का मतलब होता है की दोनों variables same value को point करते है।

References को यूज़ करते समय आपको ये बात हमेशा याद रखनी चाहिए। अब जब आप इन दोनों में से किसी भी variable को value assign करेंगे तो दोनों उस एक ही value को point करेंगे। 

Passing by Reference 

आप references के द्वारा कोई variable ना पास करके उसका reference भी पास कर सकते है। ऐसा आप function के parameters को ampersand (&) के साथ declare करके कर सकते है।

जब आप ऐसा करेंगे तो आप उस parameter को ही function में यूज़ कर सकते है और सभी tasks perform कर सकते है।

ऐसा करने से parameter में change आने पर आपका argument भी update हो जाता है। उदाहरण के लिए निचे दिया हुआ program देखिये। 

<?php 
  
// Function taking argument by reference
function myFunction(&$num)
{
  $num = $num * 2;
}

$a = 5;
myFunction($a);
echo $a;

?>

ऊपर दिए हुए उदाहरण में $a का reference पास किया जा रहा है और function में $num को यूज़ किया जा रहा है।

जब $num की value change होती है तो $a की value भी change होती है और 10 हो जाती है।   

Returning PHP Reference 

किसी भी function से reference return करने के लिए आपको function के नाम से पहले ampersand (&) operator यूज़ करना होगा।  

<?php 
 
class myClass
{
  public $name = "jai";
 
  public function &myFunction()
  {
    // Returns reference of $name variable
    return $this->name;
  }
}

$obj = new myClass();

// Assigning by name to $myName
$myName = &$obj->myFunction();

// Prints jai
echo "<h2>$myName"</h2>;

$obj -> name ="jai ho";

// Prints jai ho
echo "<h2>$myName</h2>";

?>

ऊपर दिए गए उदाहरण में आप देख सकते है की function एक PHP reference return करता है। जिसे दूसरे variable को assign किया गया है।

PHP-return-reference-example-in-Hindi

Previous: PHP Iterators & Generators
Next: PHP Errors