ホームページ  >  記事  >  バックエンド開発  >  PHPでオブジェクトを関数パラメータとして渡すにはどうすればよいですか?

PHPでオブジェクトを関数パラメータとして渡すにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-04-11 11:18:02735ブラウズ

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"

実用的なケース

従業員管理システム

従業員管理システムがあると仮定します。 、関数の 1 つが変更のために従業員情報にアクセスする必要があります。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。