¿Cómo pasar variables de PHP por referencia?

De forma predeterminada, las variables de PHP se pasan por valor como argumentos de función en PHP. Cuando las variables en PHP se pasan por valor, el alcance de la variable definida en el nivel de función se vincula dentro del alcance de la función. Cambiar cualquiera de las variables no tiene ningún efecto en ninguna de las variables.

Ejemplo:

<?php
  
// Function used for assigning new
// value to $string variable and 
// printing it
function print_string( $string ) {
    $string = "Function geeksforgeeks"."\n";
  
    // Print $string variable
    print($string);
}
  
// Driver code
$string = "Global geeksforgeeks"."\n";
print_string($string);
print($string);
?>
Producción:

Function geeksforgeeks
Global geeksforgeeks

Pasar por referencia: cuando las variables se pasan por referencia, se debe agregar el símbolo & (ampersand) antes del argumento de la variable. Por ejemplo: función( &$x ). El alcance de la variable global y de la función se vuelve global ya que ambas variables están definidas por la misma referencia. Por lo tanto, cada vez que se cambia la variable global, también se cambia la función interna de la variable y viceversa.

Ejemplo:

<?php
  
// Function used for assigning new value to 
// $string variable and printing it
function print_string( &$string ) {
      
    $string = "Function geeksforgeeks \n";
  
    // Print $string variable
    print( $string );
}
  
// Driver code
$string = "Global geeksforgeeks \n";
print_string( $string );
print( $string );
?>
Producción:

Function geeksforgeeks 
Function geeksforgeeks

Publicación traducida automáticamente

Artículo escrito por Harshit Saini 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 *