¿Programa para intercambiar dos parámetros enteros usando llamada por valor y llamada por dirección en PHP?

Llamada por valor:  En llamada por valor, enviaremos el valor de la función que llama a la función llamada. Los valores de los argumentos de la función de llamada se copian directamente en los argumentos correspondientes de la función llamada. Si se realiza alguna modificación en los argumentos de la función llamada, no se efectuará en los argumentos de la función que llama porque los argumentos de la función que llama y el argumento de la función llamada se representarán en diferentes ubicaciones de memoria.

Ejemplo:

PHP

<?php
   
function sum($x) {
    $x = $x + 10;
    echo "The sum is $x<br>";
}
      
// code
$n = 20;
sum($n);
  
echo "</br>";
echo "value of n is $n";
      
?>

Producción:

The sum is 30

value of n is 20

Llamada por referencia: en el mecanismo de llamada por referencia, la dirección de una variable se enviará desde la función que llama a la función llamada. Las direcciones correspondientes de los argumentos de la función de llamada se copiarán directamente en el argumento de la función llamada. Cualquier modificación realizada a los argumentos de la función llamada se efectuará en los argumentos de la función llamadora porque tanto los argumentos de la función llamadora como los de la función llamada representan la misma ubicación de memoria.

Ejemplo:

PHP

<?php
      
function sum(&$x) { 
      $x = $x + 10;
      echo "The sum is $x";
}
  
$n = 20;
sum($n);
echo"<br> value of n is $n";
  
?>

Producción:

The sum is 30
value of n is 30

Intercambio de dos números mediante llamada por valor:

PHP

<?php
     
function swap($x, $y) {
    $temp = $x;
    $x = $y;
    $y = $temp;
    echo "The value of x is:".$x."<br>";
    echo "The value of y is:".$y."<br><br>";
}
  
$a = 10;
$b = 20;
swap($a, $b);
echo "The value of a is :".$a."<br>";
echo "The value of b is :".$b."<br>";
  
?>

Producción:

The value of x is:20
The value of y is:10

The value of a is :10
The value of b is :20

Intercambio de dos números mediante llamada por referencia:

PHP

<?php
  
function swap(&$x, &$y) { 
    $temp = $x;
    $x = $y;
    $y = $temp;
    echo "The value of x is: ".$x."<br>";
    echo "The value of y is: ".$y."<br><br>";
}
  
$a = 10;
$b = 20;
swap($a, $b);
echo "The value of a is: ".$a."<br>";
echo "The value of b is: ".$b."<br>";
  
?>

Producción:

The value of x is: 20
The value of y is: 10

The value of a is: 20
The value of b is: 10

Publicación traducida automáticamente

Artículo escrito por santhivicky143 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *