Maison >développement back-end >tutoriel php >Comment passer un objet comme paramètre de fonction en PHP ?
En PHP, les objets peuvent être transmis aux fonctions par référence ou valeur. Passer une référence permet à la fonction de modifier l'objet d'origine, tandis que passer une valeur crée une copie de l'objet d'origine. Dans le cas réel, le système de gestion des employés utilise la transmission de références d'objet pour permettre aux fonctions de modifier le salaire de l'objet employé d'origine.
En PHP, les objets peuvent être transmis aux fonctions par référence ou valeur. Dans tous les cas, la fonction obtiendra une référence ou une copie de l'objet.
Passer un objet par référence permet à une fonction de modifier l'objet d'origine. Pour ce faire, passez l'objet en utilisant la notation &
: &
符号传递对象:
class Person { public $name; public function __construct($name) { $this->name = $name; } } function changeName(&$person) { $person->name = "John Doe"; } $person = new Person("Jane Doe"); changeName($person); echo $person->name; // 输出 "John Doe"
通过值传递对象会创建原始对象的副本。这允许函数修改副本,而不会影响原始对象:
class Person { public $name; public function __construct($name) { $this->name = $name; } } function changeName($person) { $person->name = "John Doe"; } $person = new Person("Jane Doe"); changeName($person); echo $person->name; // 输出 "Jane Doe"
员工管理系统
假设我们有一个员工管理系统,其中一个函数需要访问员工信息进行修改。
class Employee { public $name; public $salary; } function updateSalary(Employee $employee, $newSalary) { $employee->salary = $newSalary; } $employee = new Employee(); $employee->name = "Jane Doe"; $employee->salary = 1000; updateSalary($employee, 1200); echo $employee->salary; // 输出 "1200"
在这种情况下,使用对象引用传递 $employee
对象,使 updateSalary()
rrreee
$employee
à l'aide d'une référence d'objet permet à la fonction updateSalary()
de modifier le salaire de l'objet d'origine. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!