Maison >développement back-end >tutoriel php >Comment passer un objet comme paramètre de fonction en PHP ?

Comment passer un objet comme paramètre de fonction en PHP ?

WBOY
WBOYoriginal
2024-04-11 11:18:02793parcourir

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.

如何在 PHP 中传递对象作为函数参数?

Comment passer des objets en paramètres de fonction en PHP ?

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 une référence d'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

Passer un objet par valeur🎜🎜Passer un objet par valeur crée une copie de l'objet d'origine. Cela permet aux fonctions de modifier la copie sans affecter l'objet d'origine : 🎜rrreee🎜Exemple pratique🎜🎜Système de gestion des employés🎜🎜Supposons que nous ayons un système de gestion des employés dans lequel l'une des fonctions doit accéder aux informations sur les employés pour modification. 🎜rrreee🎜Dans ce cas, passer l'objet $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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn