Paso de variables de PHP por referencia

Sheeraz Gul 18 agosto 2022
Paso de variables de PHP por referencia

Las variables se pasan por defecto a las funciones por valor, pero también se pueden pasar por referencia en PHP. Este tutorial demuestra cómo pasar por referencias en PHP.

Paso de variables de PHP por referencia

El símbolo de ampersand & se agregará al comienzo del argumento de la variable para pasar las variables por referencia en PHP. Por ejemplo, function(&$a), donde el objetivo de la variable global y de la función es convertirse en valores globales porque se definen utilizando el mismo concepto de referencia.

Siempre que la variable global cambie, la variable dentro de la función cambiará y viceversa. La sintaxis para pasar por referencia es:

function FunctionName(&$Parameter){
//
}

Donde FunctionName es el nombre de la función y Parameter es una variable que se pasará por referencia. Aquí hay un ejemplo simple para pasar por referencia en PHP.

<?php
function Show_Number(&$Demo){
    $Demo++;
}
$Demo=7;
echo "Value of Demo variable before the function call :: ";
echo $Demo;
echo "<br>";
echo "Value of Demo variable after the function call :: ";
Show_Number($Demo);
echo $Demo;
?>

El código anterior pasa la variable Demo por referencia en la función Show_Number. Ver salida:

Value of Demo variable before the function call :: 7
Value of Demo variable after the function call :: 8

Probemos con otro ejemplo para pasar por referencia con y sin el símbolo de ampersand. Ver ejemplo:

<?php
// Assigning the new value to some $Demo1 variable and then printing it
echo "PHP pass by reference concept :: ";
echo "<hr>";
function PrintDemo1( &$Demo1 ) {
    $Demo1 = "New Value \n";
    // Print $Demo1 variable
    print( $Demo1 );
    echo "<br>";
}
// Drivers code
$Demo1 = "Old Value \n";
PrintDemo1( $Demo1 );
print( $Demo1 );
echo "<br><br><br>";


echo "PHP pass by reference concept but exempted ampersand symbol :: ";
echo "<hr>";
function PrintDemo2( $Demo2 ) {
    $Demo2 = "New Value \n";
    // Print $Demo2 variable
    print( $Demo2 );
    echo "<br>";
}
// Drivers code
$Demo2 = "Old Value \n";
PrintDemo2( $Demo2 );
print( $Demo2 );
echo "<br>";

?>

El código anterior crea dos funciones que se utilizan para cambiar los valores de las variables. Cuando la variable se pasa por referencia con el símbolo de ampersand &, la función se llama simultáneamente y cambia el valor de la variable.

De manera similar, cuando se pasa por referencia sin el símbolo de ampersand &, deberá llamar a la función para cambiar el valor de la variable. Ver salida:

PHP pass by reference concept ::
New Value
New Value


PHP pass by reference concept but exempted ampersand symbol ::
New Value
Old Value
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - PHP Variable