是的,PHP数组可以存储对象。PHP是一种动态类型语言,数组可以存储各种类型的值,包括整数、字符串、布尔值、数组、对象等。
以下是一个简单的示例,展示了如何在PHP数组中存储对象:
<?php
// 定义一个简单的类
class MyClass {
public $name;
public function __construct($name) {
$this->name = $name;
}
public function greet() {
return "Hello, " . $this->name . "!";
}
}
// 创建对象
$obj1 = new MyClass("Alice");
$obj2 = new MyClass("Bob");
// 将对象存储在数组中
$array = array($obj1, $obj2);
// 遍历数组并调用对象的方法
foreach ($array as $obj) {
echo $obj->greet() . "\n";
}
?>
Hello, Alice!
Hello, Bob!
MyClass
,它有一个属性 $name
和一个方法 greet()
。MyClass
的对象 $obj1
和 $obj2
。$array
中。greet()
方法。clone
关键字来创建对象的副本。$array = array(clone $obj1, clone $obj2);
这样,数组中的对象就是原始对象的副本,修改数组中的对象不会影响原始对象。