Mik*_*ell 92
找到一般(以及一些简单的问题)答案的最佳位置就是阅读PHP文档.特别是在您的情况下,您可以阅读更多关于对象.您可以在数组中存储stdObject和实例化对象.实际上,有一个称为" 水合 " 的过程,它使用来自数据库行的值填充对象的成员变量,然后将对象存储在数组中(可能与其他对象一起)并返回到调用代码以进行访问.
- 编辑 -
class Car
{
public $color;
public $type;
}
$myCar = new Car();
$myCar->color = 'red';
$myCar->type = 'sedan';
$yourCar = new Car();
$yourCar->color = 'blue';
$yourCar->type = 'suv';
$cars = array($myCar, $yourCar);
foreach ($cars as $car) {
echo 'This car is a ' . $car->color . ' ' . $car->type . "\n";
}
Run Code Online (Sandbox Code Playgroud)
cee*_*yoz 24
是.
$array[] = new stdClass;
$array[] = new stdClass;
print_r($array);
Run Code Online (Sandbox Code Playgroud)
结果是:
Array
(
[0] => stdClass Object
(
)
[1] => stdClass Object
(
)
)
Run Code Online (Sandbox Code Playgroud)
Sli*_*eam 18
你可以这样做:
$posts = array(
(object) [
'title' => 'title 1',
'color' => 'green'
],
(object) [
'title' => 'title 2',
'color' => 'yellow'
],
(object) [
'title' => 'title 3',
'color' => 'red'
]
);
Run Code Online (Sandbox Code Playgroud)
var_dump($posts);
array(3) {
[0]=>
object(stdClass)#1 (2) {
["title"]=>
string(7) "title 1"
["color"]=>
string(5) "green"
}
[1]=>
object(stdClass)#2 (2) {
["title"]=>
string(7) "title 2"
["color"]=>
string(6) "yellow"
}
[2]=>
object(stdClass)#3 (2) {
["title"]=>
string(7) "title 3"
["color"]=>
string(3) "red"
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
数组可以保存指针,所以当我想要一个对象数组时,我会这样做.
$a = array();
$o = new Whatever_Class();
$a[] = &$o;
print_r($a);
Run Code Online (Sandbox Code Playgroud)
这将显示该对象是通过数组引用和访问的.
是的,可以在PHP中拥有对象数组.
class MyObject {
private $property;
public function __construct($property) {
$this->Property = $property;
}
}
$ListOfObjects[] = new myObject(1);
$ListOfObjects[] = new myObject(2);
$ListOfObjects[] = new myObject(3);
$ListOfObjects[] = new myObject(4);
print "<pre>";
print_r($ListOfObjects);
print "</pre>";
Run Code Online (Sandbox Code Playgroud)
小智 5
另一个直观的解决方案可能是:
class Post
{
public $title;
public $date;
}
$posts = array();
$posts[0] = new Post();
$posts[0]->title = 'post sample 1';
$posts[0]->date = '1/1/2021';
$posts[1] = new Post();
$posts[1]->title = 'post sample 2';
$posts[1]->date = '2/2/2021';
foreach ($posts as $post) {
echo 'Post Title:' . $post->title . ' Post Date:' . $post->date . "\n";
}
Run Code Online (Sandbox Code Playgroud)