Computer >> Máy Tính >  >> Lập trình >> PHP

PHP Kế thừa các thuộc tính của đối tượng không phải lớp?

Đối với điều này, hãy sử dụng bản sao cùng với đặt tên thuộc tính thành null.

Ví dụ

Mã PHP như sau

<!DOCTYPE html>
<html>
<body>
<?php
$firstObject = (object)[
   "Name"  => "John",
   "Age"  => 20
];
$secondObject = clone $firstObject;
var_dump($firstObject);
echo "<br>";
var_dump($secondObject);
foreach ($secondObject as $keyName => $keyValue) {
   $secondObject->$keyName = null;
}
echo "<br>";
var_dump($secondObject);
$firstObject = [
   "Name"  => "John",
   "Age"  => 20
];
echo "<br>";
$arrayObject= array_fill_keys(array_keys($firstObject), null);
$secondObject = (object)$arrayObject;
var_dump($secondObject);
?>
</body>
</html>

Đầu ra

Điều này sẽ tạo ra kết quả sau

object(stdClass)#1 (2) { ["Name"]=> string(4) "John" ["Age"]=> int(20) }
object(stdClass)#2 (2) { ["Name"]=> string(4) "John" ["Age"]=> int(20) }
object(stdClass)#2 (2) { ["Name"]=> NULL ["Age"]=> NULL }
object(stdClass)#1 (2) { ["Name"]=> NULL ["Age"]=> NULL }