Hướng dẫn what is array of objects in php? - mảng đối tượng trong php là gì?

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.

Hướng dẫn what is array of objects in php? - mảng đối tượng trong php là gì?

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

Hướng dẫn what is array of objects in php? - mảng đối tượng trong php là gì?

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 "
";

Hướng dẫn what is array of objects in php? - mảng đối tượng trong php là gì?

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

Hướng dẫn what is array of objects in php? - mảng đối tượng trong php là gì?

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

Mảng đối tượng trong PHP là gì?

Hãy giải thích một đối tượng và mảng kết hợp trong PHP là gì? Một đối tượng là một thể hiện của một lớp có nghĩa là từ một lớp, bạn có thể tạo nhiều đối tượng. Nó chỉ đơn giản là một mẫu vật của một lớp và có bộ nhớ được phân bổ. Mặt khác, một mảng bao gồm chuỗi dưới dạng một chỉ mục được gọi là mảng kết hợp.an array which consists of string as an index is called associative array.

Mảng của một đối tượng là gì?

Đối tượng mảng, như với các mảng trong các ngôn ngữ lập trình khác, cho phép lưu trữ một tập hợp nhiều mục dưới một tên biến duy nhất và có thành viên để thực hiện các hoạt động mảng phổ biến.enables storing a collection of multiple items under a single variable name, and has members for performing common array operations.

Bạn có thể có một mảng các đối tượng trong PHP không?

Có, có thể có mảng các đối tượng trong PHP.Chúng ta có phải tiếp tục tăng chỉ số hàm tạo trong myObject () mỗi khi chúng ta muốn thêm một đối tượng mới vào mảng hoặc nó là tùy chọn?Tất cả những thứ OOP này trong ngôn ngữ web chỉ đơn giản là rất tiếc!. Do we have to go on incrementing the constructor index in myObject() each time we want to add a new object in the array or is it optional? All this OOP stuff in web languages is simply OOPS!

Mảng các đối tượng giải thích với một ví dụ là gì?

Mảng lớp loại chứa các đối tượng lớp là các yếu tố riêng lẻ của nó.Do đó, một mảng loại lớp cũng được gọi là một mảng các đối tượng.Theo cách tương tự như một mảng của bất kỳ loại dữ liệu tích hợp nào, một mảng các đối tượng được khai báo.Ví dụ: int Age [100];Mảng tuổi có thể chứa tới 100 phần tử loại nguyên.. Thus, a class type array is also referred to as an array of objects. In the same way as an array of any built-in data type, an array of objects is declared. For example: int age[100 ]; the age array can hold up to 100 integer-type elements.