2024-04-11

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

在 php 中,对象可以通过引用或值传递给函数,传递引用允许函数修改原始对象,传递值则会创建原始对象的副本。实战案例中,员工管理系统使用对象引用传递,允许函数修改原始员工对象的薪水。

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

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

在 PHP 中,对象可以通过引用或值传递给函数。无论哪种方法,函数都将获得对该对象的引用或副本。

传递对象引用

通过引用传递对象允许函数修改原始对象。要做到这一点,使用 & 符号传递对象:

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() 函数能够修改原始对象的薪水。

以上就是如何在 PHP 中传递对象作为函数参数?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/744185.html

发表回复

Your email address will not be published. Required fields are marked *