>  기사  >  백엔드 개발  >  PHP에서 객체를 함수 매개변수로 전달하는 방법은 무엇입니까?

PHP에서 객체를 함수 매개변수로 전달하는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-04-11 11:18:02783검색

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()rrreee

값으로 객체 전달🎜🎜값으로 객체를 전달하면 원본 객체의 복사본이 생성됩니다. 이를 통해 함수는 원본 개체에 영향을 주지 않고 복사본을 수정할 수 있습니다. 🎜rrreee🎜실용 예🎜🎜직원 관리 시스템🎜🎜직원 관리 시스템이 있고 기능 중 하나가 직원 정보에 액세스해야 한다고 가정합니다. 가감. 🎜rrreee🎜이 경우 개체 참조를 사용하여 $employee 개체를 전달하면 updateSalary() 함수가 원본 개체의 급여를 수정할 수 있습니다. 🎜

위 내용은 PHP에서 객체를 함수 매개변수로 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.