PHP ist eine serverseitige Skriptsprache, die in der Webentwicklung häufig verwendet wird. In PHP gibt es zwei Möglichkeiten, Parameter zu übergeben: Wert nach Wert und Referenz. Dieser Artikel konzentriert sich auf den Werttransfermechanismus in PHP und hilft den Lesern, dieses Konzept durch bestimmte Codebeispiele zu meistern.
Das Übergeben von Wert bezieht sich auf die Übergabe einer Kopie der externen Parameter der Funktion an eine Variable innerhalb der Funktion. Die Änderung der Parameter innerhalb der Funktion beeinflusst die externe Variable nicht. Das Bestehen von Wert wird häufig in grundlegenden Datentypen verwendet (z. B. Ganzzahlen, schwimmende Zahlen, Zeichenfolgen usw.). Hier ist ein einfaches Beispiel:
<?php
function addNumber($num) {
$num = $num + 10;
return $num;
}
$number = 5;
$newNumber = addNumber($number);
echo "Ursprünglicher Wert:" . $number . "<br>"; // Ausgabe 5
echo "Geänderter Wert:" . $newNumber; // Ausgabe 15
?>
Im obigen Code -Beispiel erhält die Funktion addNumber einen Parameter $ num und gibt den Wert zurück, nachdem sie 10 addiert wurde.
Obwohl Arrays und Objekte normalerweise in Referenzen in PHP übergeben werden, folgen sie beim Bestehen immer noch dem Wertmechanismus, und das spezifische Verhalten kann sich von dem unterscheiden, was wir erwartet haben. Hier ist ein Beispiel für den Übergang von Objektwert:
<?php
class Person {
public $name;
}
function changeName($obj) {
$obj->name = 'Lucy';
}
$person = new Person();
$person->name = 'John';
changeName($person);
echo "Original Name:" . $person->name . "<br>"; // Ausgabe John
echo "Geänderter Name:" . $person->name; // Ausgabe Lucy
?>
In diesem Beispiel sehen wir, dass die Funktion, wenn das Objekt $ $ Person an den Funktionswechsel übergeben wird, ihren Eigenschaftswert intern ändert. Aufgrund der Art des Wertenteils ist die Modifikation jedoch intern auf die Funktion beschränkt.
Für Arrays gelten ähnliche Situationen. Hier ist ein Beispiel für die Übergabe von Array -Werten:
<?php
function changeElement($arr) {
$arr[0] = 100;
}
$array = [1, 2, 3];
changeElement($array);
echo "Originalarray:";
print_r($array); // Ausgabe [1, 2, 3]
?>
Wie oben gezeigt, ist der Wert des äußeren Arrays zwar nicht geändert, obwohl das Array -Element nicht geändert wird.
In diesem Artikel haben wir ein tieferes Verständnis des Wertentransfermechanismus in PHP. Für grundlegende Datentypen gibt PHP eine Kopie des Wertes über, während für zusammengesetzte Datentypen (z. B. Arrays und Objekte), auch wenn sie bei der Übergabe wie Referenzverkäufe wirken, der Wert bleibt im tatsächlichen Betrieb. Daher sollten Entwickler beim Schreiben von Code die entsprechende Parameterablieferungsmethode nach unterschiedlichen Anforderungen auswählen, um die Richtigkeit des Programms sicherzustellen.