Vì vậy, tôi đã tìm kiếm một thời gian và không thể tìm thấy câu trả lời cho một câu hỏi đơn giản. Có thể có một mảng các đối tượng trong PHP không? Như là:
$ar=array[];
$ar[]=$Obj1
$ar[]=$obj2
Vì một số lý do, tôi đã không thể tìm thấy câu trả lời ở bất cứ đâu. Tôi cho rằng nó là có thể nhưng tôi chỉ cần đảm bảo.
Adams giàu có
25.6K4 Huy hiệu vàng39 Huy hiệu bạc62 Huy hiệu Đồng4 gold badges39 silver badges62 bronze badges
Đã hỏi ngày 23 tháng 12 năm 2011 lúc 4:17Dec 23, 2011 at 4:17
0
Nơi tốt nhất để tìm câu trả lời cho các câu hỏi chung [và hơi dễ dàng] như điều này là đọc lên các tài liệu PHP. Cụ thể trong trường hợp của bạn, bạn có thể đọc thêm trên các đối tượng. Bạn có thể lưu trữ StDoBject và các đối tượng khởi tạo trong một mảng. Trên thực tế, có một quy trình được gọi là 'hydrat hóa' trong đó các biến thành viên của một đối tượng có giá trị từ hàng cơ sở dữ liệu, sau đó đối tượng được lưu trữ trong một mảng [có thể với các đối tượng khác] và được trả về mã gọi để truy cập.
-- Chỉnh sửa --
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";
}
Đã trả lời ngày 23 tháng 12 năm 2011 lúc 4:35Dec 23, 2011 at 4:35
Mike Purcellmike PurcellMike Purcell
19.7K10 Huy hiệu vàng51 Huy hiệu bạc87 Huy hiệu đồng10 gold badges51 silver badges87 bronze badges
5
Yes.
$array[] = new stdClass;
$array[] = new stdClass;
print_r[$array];
Kết quả trong:
Array
[
[0] => stdClass Object
[
]
[1] => stdClass Object
[
]
]
Đã trả lời ngày 23 tháng 12 năm 2011 lúc 4:21Dec 23, 2011 at 4:21
Ceejayozceejayozceejayoz
Phim thương hiệu vàng 174K4040 gold badges290 silver badges361 bronze badges
5
Có, có thể có mảng các đối tượng trong 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 "";
print_r[$ListOfObjects];
print "
";
KV Prajapati
92.7K19 Huy hiệu vàng144 Huy hiệu bạc183 Huy hiệu đồng19 gold badges144 silver badges183 bronze badges
Đã trả lời ngày 26 tháng 12 năm 2012 lúc 3:21Dec 26, 2012 at 3:21
Rizonrizonrizon
8.0611 Huy hiệu vàng26 Huy hiệu bạc17 Huy hiệu đồng1 gold badge26 silver badges17 bronze badges
2
Bạn có thể làm điều gì đó như thế này:
$posts = array[
[object] [
'title' => 'title 1',
'color' => 'green'
],
[object] [
'title' => 'title 2',
'color' => 'yellow'
],
[object] [
'title' => 'title 3',
'color' => 'red'
]
];
Result:
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"
}
}
Đã trả lời ngày 16 tháng 8 năm 2021 lúc 22:53Aug 16, 2021 at 22:53
SlipStreamSlipStreamSlipstream
12.3k3 Huy hiệu vàng54 Huy hiệu bạc43 Huy hiệu đồng3 gold badges54 silver badges43 bronze badges
Mảng có thể giữ các con trỏ vì vậy khi tôi muốn một mảng các đối tượng tôi làm điều đó.
$a = array[];
$o = new Whatever_Class[];
$a[] = &$o;
print_r[$a];
Điều này sẽ cho thấy rằng đối tượng được tham chiếu và truy cập thông qua mảng.
Đã trả lời ngày 4 tháng 12 năm 2012 lúc 21:57Dec 4, 2012 at 21:57
LangellangelLangel
3154 Huy hiệu bạc7 Huy hiệu đồng4 silver badges7 bronze badges
Một giải pháp trực quan khác có thể là:
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";
}
Đã trả lời ngày 25 tháng 2 năm 2021 lúc 16:03Feb 25, 2021 at 16:03
1
Mặc dù tất cả các câu trả lời được đưa ra là chính xác, nhưng thực tế chúng không trả lời hoàn toàn câu hỏi về việc sử dụng cấu trúc [] và nói chung là điền vào mảng bằng các đối tượng.
Một câu trả lời có liên quan hơn có thể được tìm thấy trong cách xây dựng các mảng các đối tượng trong PHP mà không cần chỉ định số chỉ mục? trong đó cho thấy rõ làm thế nào để giải quyết vấn đề.
Đã trả lời ngày 6 tháng 12 năm 2019 lúc 19:42Dec 6, 2019 at 19:42
FibofiboFibo
Phù hiệu bằng đồng 3177 bronze badges