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 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