PHP-Variablen werden als Referenz übergeben

Sheeraz Gul 18 August 2022
PHP-Variablen werden als Referenz übergeben

Die Variablen werden standardmäßig per Wert an Funktionen übergeben, sie können aber auch per Referenz in PHP übergeben werden. Dieses Tutorial zeigt, wie Referenzen in PHP übergeben werden.

PHP-Variablen werden als Referenz übergeben

Das kaufmännische Und-Symbol & wird am Anfang des Variablenarguments hinzugefügt, um die Variablen als Referenz in PHP zu übergeben. Beispiel: Funktion(&$a), wobei sowohl das globale als auch das variable Ziel der Funktion darin besteht, globale Werte zu werden, weil sie mit demselben Referenzkonzept definiert werden.

Immer wenn sich die globale Variable ändert, ändert sich die Variable innerhalb der Funktion und umgekehrt. Die Syntax für die Referenzübergabe lautet:

function FunctionName(&$Parameter){
//
}

Wobei FunctionName der Name der Funktion und Parameter eine Variable ist, die als Referenz übergeben wird. Hier ist ein einfaches Beispiel für die Referenzübergabe in 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;
?>

Der obige Code übergibt die Variable Demo per Referenz in der Funktion Show_Number. Siehe Ausgabe:

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

Lassen Sie uns ein weiteres Beispiel ausprobieren, um als Referenz mit und ohne das kaufmännische Und-Symbol zu übergeben. Siehe Beispiel:

<?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>";

?>

Der obige Code erstellt zwei Funktionen, die zum Ändern der Werte von Variablen verwendet werden. Bei der Referenzübergabe der Variablen mit dem kaufmännischen Und-Symbol & wird gleichzeitig die Funktion aufgerufen und ändert den Wert der Variablen.

Ebenso muss bei einer Referenzübergabe ohne das kaufmännische Und-Symbol & die Funktion aufgerufen werden, um den Wert der Variablen zu ändern. Siehe Ausgabe:

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

Verwandter Artikel - PHP Variable