Hướng dẫn how can we store objects in array in php? - làm cách nào chúng ta có thể lưu trữ các đối tượng trong mảng trong php?

Tôi có một chức năng kéo các hàng từ cơ sở dữ liệu, nội dung-> id và nội dung-> loại được sử dụng để gọi điện động Amethod trong một mô hình đã được tải để lấy và định dạng chi tiết đối tượng. Khi đối tượng được trả về, nó được thêm vào mảng. Tất cả đều tốt, ngoại trừ khi tôi đến sử dụng mảng mặc dù nó có số lượng mục chính xác trong đó, tất cả chúng đều chứa cùng một đối tượng mặc dù tôi biết rằng chúng được trả lại khác nhau. Tôi hoàn toàn mất mát với điều này, bất kỳ sự giúp đỡ/ý tưởng nào cũng tuyệt vời!

Mã dưới đây:

foreach($query->result() as $content)
{
    $item = $this->{'mod_'.$content->type}->get($content->id);
    print_r($item);
    $items[] = $item;
}
print_r($items);

Và các câu lệnh print_r tạo ra điều này:

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)

Đã hỏi ngày 30 tháng 6 năm 2009 lúc 17:07Jun 30, 2009 at 17:07

Hướng dẫn how can we store objects in array in php? - làm cách nào chúng ta có thể lưu trữ các đối tượng trong mảng trong php?

1

Tôi đoán rằng vấn đề là bạn có cùng một đối tượng mỗi lần bằng cách tham chiếu từ hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
0 và sau đó thêm nó bằng cách tham chiếu đến mảng, dẫn đến tất cả các mục trong mảng được sửa đổi khi mục được sửa đổi trong hàm
stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
0 . Nếu đó là trường hợp, những điều sau đây sẽ hoạt động:

foreach($query->result() as $content)
{
    $item = $this->{'mod_'.$content->type}->get($content->id);
    print_r($item);
    $items[] = clone $item;
}
print_r($items);

Đã trả lời ngày 30 tháng 6 năm 2009 lúc 17:17Jun 30, 2009 at 17:17

Mikael Aunomikael AunoMikael Auno

8.8602 Huy hiệu vàng20 Huy hiệu bạc16 Huy hiệu Đồng2 gold badges20 silver badges16 bronze badges

0

Khi bạn đẩy $ mục sang các mục $, nó không đẩy các điểm giá trị $ mà chính là tham chiếu. Bạn sẽ cần khởi tạo $ Item mỗi lần:

foreach($query->result() as $content)
{
    $item = new stdClass();
    $item = $this->{'mod_'.$content->type}->get($content->id);
    print_r($item);
    $items[] = $item;
}
print_r($items);

Đã trả lời ngày 30 tháng 6 năm 2009 lúc 17:18Jun 30, 2009 at 17:18

MoshibinmoshibinMoshiBin

3.0372 Huy hiệu vàng20 Huy hiệu bạc23 Huy hiệu đồng2 gold badges20 silver badges23 bronze badges

2

Bạn có thể đang trả lại các tài liệu tham khảo cho mục, không phải các mục. Nó sẽ luôn luôn là tài liệu tham khảo cuối cùng mà $ item trỏ đến.

Đã trả lời ngày 30 tháng 6 năm 2009 lúc 17:15Jun 30, 2009 at 17:15

CGPCGPcgp

40.7K11 Huy hiệu vàng100 Huy hiệu bạc131 Huy hiệu Đồng11 gold badges100 silver badges131 bronze badges

  1. Tạo một mảng các đối tượng lớp trong php
  2. Tạo một mảng các đối tượng
    stdClass Object
    (
        [id] => 30
        [type] => page
    )
    
    stdClass Object
    (
        [id] => 29
        [type] => page
    )
    
    Array
    (
        [0] => stdClass Object
            (
                [id] => 29
                [type] => page
            )
    
        [1] => stdClass Object
            (
               [id] => 29
               [type] => page
            )
    
    )
    
    2 trong PHP
  3. Tạo một mảng đối tượng bằng hàm
    stdClass Object
    (
        [id] => 30
        [type] => page
    )
    
    stdClass Object
    (
        [id] => 29
        [type] => page
    )
    
    Array
    (
        [0] => stdClass Object
            (
                [id] => 29
                [type] => page
            )
    
        [1] => stdClass Object
            (
               [id] => 29
               [type] => page
            )
    
    )
    
    3 trong PHP

Bài viết này sẽ giới thiệu các phương thức để tạo một mảng các đối tượng trong PHP.

Tạo một mảng các đối tượng lớp trong php

Tạo một mảng các đối tượng

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
2 trong PHP

Tạo một mảng đối tượng bằng hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
3 trong PHP

Bài viết này sẽ giới thiệu các phương thức để tạo một mảng các đối tượng trong PHP.

Chúng ta có thể sử dụng hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
3 để tạo một mảng các đối tượng trong PHP. Hàm sẽ lấy đối tượng làm đối số và sẽ tạo ra một mảng các đối tượng đó. Chúng ta có thể tạo các đối tượng bằng cách tạo một lớp và xác định một số thuộc tính của lớp. Các thuộc tính của lớp sẽ có một số giá trị. Cuối cùng, các thuộc tính và giá trị sẽ tạo thành một cặp giá trị khóa trong mảng.

name = 'Husqvarna';
$bike1->type = 'dirt';
$bike2 = new Motorcycle();
$bike2->name = 'Goldwing';
$bike2->type = 'touring';
$bikes = array($bike1, $bike2);
?>
 

Output:

Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)

Tạo một mảng các đối tượng stdClass Object ( [id] => 30 [type] => page ) stdClass Object ( [id] => 29 [type] => page ) Array ( [0] => stdClass Object ( [id] => 29 [type] => page ) [1] => stdClass Object ( [id] => 29 [type] => page ) ) 2 trong PHP

Tạo một mảng đối tượng bằng hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
3 trong PHP

Bài viết này sẽ giới thiệu các phương thức để tạo một mảng các đối tượng trong PHP.

Chúng ta có thể sử dụng hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
3 để tạo một mảng các đối tượng trong PHP. Hàm sẽ lấy đối tượng làm đối số và sẽ tạo ra một mảng các đối tượng đó. Chúng ta có thể tạo các đối tượng bằng cách tạo một lớp và xác định một số thuộc tính của lớp. Các thuộc tính của lớp sẽ có một số giá trị. Cuối cùng, các thuộc tính và giá trị sẽ tạo thành một cặp giá trị khóa trong mảng.

Chúng ta có thể sử dụng hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
3 để tạo một mảng các đối tượng trong PHP. Hàm sẽ lấy đối tượng làm đối số và sẽ tạo ra một mảng các đối tượng đó. Chúng ta có thể tạo các đối tượng bằng cách tạo một lớp và xác định một số thuộc tính của lớp. Các thuộc tính của lớp sẽ có một số giá trị. Cuối cùng, các thuộc tính và giá trị sẽ tạo thành một cặp giá trị khóa trong mảng.

name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 

Ouput:

Array
(
 [0] => stdClass Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => stdClass Object
 (
 [name] => Goldwing
 [type] => touring
 )

)

Tạo một mảng đối tượng bằng hàm stdClass Object ( [id] => 30 [type] => page ) stdClass Object ( [id] => 29 [type] => page ) Array ( [0] => stdClass Object ( [id] => 29 [type] => page ) [1] => stdClass Object ( [id] => 29 [type] => page ) ) 3 trong PHP

Bài viết này sẽ giới thiệu các phương thức để tạo một mảng các đối tượng trong PHP.

Chúng ta có thể sử dụng hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
3 để tạo một mảng các đối tượng trong PHP. Hàm sẽ lấy đối tượng làm đối số và sẽ tạo ra một mảng các đối tượng đó. Chúng ta có thể tạo các đối tượng bằng cách tạo một lớp và xác định một số thuộc tính của lớp. Các thuộc tính của lớp sẽ có một số giá trị. Cuối cùng, các thuộc tính và giá trị sẽ tạo thành một cặp giá trị khóa trong mảng.

Chúng ta có thể sử dụng hàm

stdClass Object
(
    [id] => 30
    [type] => page
)

stdClass Object
(
    [id] => 29
    [type] => page
)

Array
(
    [0] => stdClass Object
        (
            [id] => 29
            [type] => page
        )

    [1] => stdClass Object
        (
           [id] => 29
           [type] => page
        )

)
3 để tạo một mảng các đối tượng trong PHP. Hàm sẽ lấy đối tượng làm đối số và sẽ tạo ra một mảng các đối tượng đó. Chúng ta có thể tạo các đối tượng bằng cách tạo một lớp và xác định một số thuộc tính của lớp. Các thuộc tính của lớp sẽ có một số giá trị. Cuối cùng, các thuộc tính và giá trị sẽ tạo thành một cặp giá trị khóa trong mảng.

name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1] = new Motorcycle();
$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 

Output:

Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )

)

Tôi có thể lưu trữ một đối tượng trong một mảng không?

Lưu trữ các đối tượng trong một mảng có, vì các đối tượng cũng được coi là kiểu dữ liệu (tham chiếu) trong Java, bạn có thể tạo một mảng thuộc loại của một lớp cụ thể và, cư trú với các trường hợp của lớp đó.Yes, since objects are also considered as datatypes (reference) in Java, you can create an array of the type of a particular class and, populate it with instances of that class.

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!

Các mảng được lưu trữ trong PHP như thế nào?

Một mảng là một biến có thể chứa nhiều hơn một giá trị.Các mảng trong PHP được lưu trữ dưới dạng các cặp giá trị mà trong các ngôn ngữ khác sẽ được gọi là từ điển hoặc hashtable.Chìa khóa có thể là chuỗi hoặc số nguyên.value pairs that in other languages would be called a dictionary or a hashtable. Keys can be strings or integers.

Một mảng các đối tượng thực sự lưu trữ gì?

Với một mảng, bạn lưu trữ một bộ sưu tập các yếu tố bạn có thể truy cập theo vị trí của họ (hoặc chỉ mục).Các đối tượng đưa khái niệm đó đi xa hơn bằng cách cung cấp một cách để cấu trúc dữ liệu liên quan dễ đọc và truy xuất bằng các cặp khóa/giá trị.a collection of elements you can access by their position (or index). Objects take that concept further by providing a way to structure related data that's easy to read and retrieve using key/value pairs.