PHP继承非类对象的属性吗?

为此,请使用clone并将属性名称设置为null。

示例

PHP代码如下

<!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>

输出结果

这将产生以下输出

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 }