Difference Between Call by Reference and Call by Value in PHP

Program 1

<html>
<head><title>Demo</title></head>
<body>
    <center>
    <?php
        function swap(&$a,&$b)   //call by reference 
       {
              $c=$a;
              $a=$b;
              $b=$c;
       }

    
    
    $a=500;
    $b=300;
    echo "Value is : ".$a;
    
    // echo "<br>Before Swaping: ".$a."  ".$b;
    // swap($a,$b);
    // echo "<br>After Swaping: ".$a."  ".$b;


        // $a=500;
        // $b=&$a;
        // echo "a=".$a."<br>";
        // echo "b=".$b."<br>";
        // $b=1500;
        // echo "a=".$a."<br>";
        // echo "b=".$b."<br>";
        // $a=$a+1000;
        // echo "a=".$a."<br>";
        // echo "b=".$b."<br>";


?>
</center>
</body>
</html>

Program 2

<html>
<head><title>Demo clone</title></head>
<body>
    <center>
    <?php
       class employee
       {
           public $name;
           public $department;
          public function __construct($ename) 
          {
                 $this->name=$ename;
          }
       }

$e1=new employee("Vishal Verma");

$e2=clone $e1;
echo "e1=".$e1->name."<br>";
echo "e2=".$e2->name."<br>";

$e2->name="Ashok Gupta";
echo "<br>----After Change Name---------<br>";
echo "e1=".$e1->name."<br>";
echo "e2=".$e2->name."<br>";
?>
</center>
</body>
</html>

 

courses

TechVidvan Team

TechVidvan Team provides high-quality content & courses on AI, ML, Data Science, Data Engineering, Data Analytics, programming, Python, DSA, Android, Flutter, full stack web dev, MERN, and many latest technology.

Leave a Reply

Your email address will not be published. Required fields are marked *