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