Tên thuộc tính từ mảng kết hợp trong OOP PHP
Bây giờ hãy xem cách truy cập
vào thuộc tính của đối tượng theo tên
từ phần tử của mảng kết hợp.
Giả sử chúng ta có lớp User sau:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Hãy tạo một đối tượng của lớp này:
<?php
$user = new User('john', 'smit');
?>
Giả sử có mảng các thuộc tính:
<?php
$props = ['prop1' => 'name', 'prop2' => 'surn'];
?>
Hãy truy cập vào thuộc tính của đối tượng, tên của nó được lưu trong phần tử của mảng chúng ta:
<?php
echo $user->{$props['prop1']}; // sẽ in ra 'john'
?>
Cho lớp sau:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Cho mảng:
<?php
$arr = [
'prop1' => 'name',
'prop2' => 'salary',
'prop3' => 'position'
];
?>
Hãy tạo một đối tượng của lớp Employee,
sau đó truy cập vào các thuộc tính của nó
thông qua các phần tử của mảng.