Cách in đối tượng stdclass trong php

Hãy hiểu với mã ví dụ sau

Tạo đối tượng stdClass đa chiều cho mục đích trình diễn

$student1 = new stdClass[];
$student1->name = "John";
$student1->id = 123;


$student2 = new stdClass[];
$student2->name = "Peter";
$student2->id = 321;


$students = array[
    "math" => $student1,
    "science" => $student2
];

$objects = [object] $students;

$mixedArray = array[
    "user" => array[
        array[
            'name' => 'Henry',
            'age' => '24'
        ]
    ],
    "students" => $objects
];

$mixedObjects = [object] $mixedArray;

Mã trên sẽ tạo đối tượng stdClass là

stdClass Object
[
    [user] => Array
        [
            [0] => Array
                [
                    [name] => Henry
                    [age] => 24
                ]

        ]

    [students] => stdClass Object
        [
            [math] => stdClass Object
                [
                    [name] => John
                    [id] => 123
                ]

            [science] => stdClass Object
                [
                    [name] => Peter
                    [id] => 321
                ]

        ]

]

Lặp qua đối tượng stdClass $mixedObjects->students và hiển thị các giá trị như bên dưới

foreach [$mixedObjects->students as $obj => $student] {
    echo "Department : " . $obj . " => Name: " . $student->name . " | id:" . $student->id;
    echo "
"; }

đầu ra

Department : math => Name: John | id:123
Department : science => Name: Peter | id:321


Tôi cần một số trợ giúp về mã của mình vì tôi gặp khó khăn trong việc tìm nạp giá trị từ stdclass. Tôi đang sử dụng dữ liệu json để chuyển đổi nó sang PHP, vì vậy tôi muốn tìm nạp dữ liệu "xuất hiện" từ đối tượng stdclass

Khi tôi thử cái này

echo $data->appears;

 

tôi nhận được cái này

Lưu ý. Đang cố lấy thuộc tính của non-object trong /home/username/public_html/foldername/script. php trên dòng 22

 

Tôi cũng đã thử cái này

echo $data[0]->appears->value;

 

Và điều này

echo $data->appears[0]->value;

 

Tôi vẫn gặp lỗi tương tự nên tôi không biết phải làm gì để giải quyết

 

Mã đầy đủ

 

Đối tượng STDClass

________số 8

 

Var_dump

array[1] { ["data"]=> array[1] { ["185.220.101.46"]=> array[15] { ["domains_count"]=> int[0] ["domains_list"]=> NULL ["updated"]=> string[19] "2019-12-02 22:04:25" ["spam_rate"]=> int[1] ["frequency"]=> int[6827] ["frequency_time_24h"]=> int[106] ["frequency_time_1h"]=> int[2] ["network_type"]=> string[7] "hosting" ["in_antispam"]=> int[1] ["in_security"]=> int[0] ["appears"]=> int[1] ["country"]=> string[2] "DE" ["submitted"]=> string[19] "2018-01-11 20:34:37" ["frequency_time_10m"]=> int[2] ["sha256"]=> string[64] "e39d4a9be2f210d1a75ba2b5ece08a4b35e99002b03aeb6ceaad1d98de87c248" } } }

 

Bạn có thể vui lòng chỉ cho tôi một ví dụ về cách tôi có thể tìm nạp `xuất hiện` từ đối tượng stdclass không?

bât cư lơi khuyên nao cung se được đanh gia cao

Đã chỉnh sửa ngày 2 tháng 12 năm 2019 bởi mark107

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Barand

Đăng ngày 2 tháng 12 năm 2019

Barand

  • người điều hành
    • 23. 4k
    • 351
  • Địa điểm. Cheshire, Vương quốc Anh
  • Lứa tuổi. 73
  • quyên góp cho tôi

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

stdClass Object
[
    [user] => Array
        [
            [0] => Array
                [
                    [name] => Henry
                    [age] => 24
                ]

        ]

    [students] => stdClass Object
        [
            [math] => stdClass Object
                [
                    [name] => John
                    [id] => 123
                ]

            [science] => stdClass Object
                [
                    [name] => Peter
                    [id] => 321
                ]

        ]

]
0

Điều đó chuyển đổi nó thành một mảng. Để chuyển đổi nó thành một đối tượng, hãy xóa "true"

stdClass Object
[
    [user] => Array
        [
            [0] => Array
                [
                    [name] => Henry
                    [age] => 24
                ]

        ]

    [students] => stdClass Object
        [
            [math] => stdClass Object
                [
                    [name] => John
                    [id] => 123
                ]

            [science] => stdClass Object
                [
                    [name] => Peter
                    [id] => 321
                ]

        ]

]
1

 

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

requinix

Đăng ngày 2 tháng 12 năm 2019

requinix

  • quản trị viên
    • 14. 4k
    • 296
  • Địa điểm. Mỹ/Los_Angeles

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Bạn đang cách xa

Đối với một, nó không phải là một đối tượng. Trên thực tế, bạn đã nói rõ ràng với PHP rằng bạn không muốn một đối tượng. Vì vậy, nó đã cho bạn một mảng. Nếu bạn muốn một đối tượng thì hãy làm những gì Barand nói

Thứ hai, bạn dường như không biết dữ liệu được cấu trúc như thế nào. Có thể thứ gì đó sẽ nhấp vào nếu bạn nhìn vào đầu ra print_r thụt vào?

stdClass Object
[
    [user] => Array
        [
            [0] => Array
                [
                    [name] => Henry
                    [age] => 24
                ]

        ]

    [students] => stdClass Object
        [
            [math] => stdClass Object
                [
                    [name] => John
                    [id] => 123
                ]

            [science] => stdClass Object
                [
                    [name] => Peter
                    [id] => 321
                ]

        ]

]
2

 

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

đánh dấu107

Đăng ngày 2 tháng 12 năm 2019

đánh dấu107

  • Các thành viên
    • 94

  • Tác giả

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

T

32 phút trước, Barand nói

stdClass Object
[
    [user] => Array
        [
            [0] => Array
                [
                    [name] => Henry
                    [age] => 24
                ]

        ]

    [students] => stdClass Object
        [
            [math] => stdClass Object
                [
                    [name] => John
                    [id] => 123
                ]

            [science] => stdClass Object
                [
                    [name] => Peter
                    [id] => 321
                ]

        ]

]
0

Điều đó chuyển đổi nó thành một mảng. Để chuyển đổi nó thành một đối tượng, hãy xóa "true"

stdClass Object
[
    [user] => Array
        [
            [0] => Array
                [
                    [name] => Henry
                    [age] => 24
                ]

        ]

    [students] => stdClass Object
        [
            [math] => stdClass Object
                [
                    [name] => John
                    [id] => 123
                ]

            [science] => stdClass Object
                [
                    [name] => Peter
                    [id] => 321
                ]

        ]

]
1

 

 

Cảm ơn lời khuyên của bạn, tôi đã xóa nó nhưng tôi không thể lấy giá trị của `xuất hiện` từ mảng vì tôi cũng gặp lỗi tương tự

Bất kỳ ý tưởng?

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Barand

Đăng ngày 2 tháng 12 năm 2019

Barand

  • người điều hành
    • 23. 4k
    • 351
  • Địa điểm. Cheshire, Vương quốc Anh
  • Lứa tuổi. 73
  • quyên góp cho tôi

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Đây là một đầu mối

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

đánh dấu107

Đăng ngày 2 tháng 12 năm 2019

đánh dấu107

  • Các thành viên
    • 94

  • Tác giả

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

16 phút trước, Barand nói

Đây là một đầu mối

 

tôi đã thử cái này

tiếng vang $data->data['185. 220. 101. 46']-> xuất hiện;

nó không hoạt động. Bất kỳ ý tưởng?

Sẽ dễ dàng hơn nếu bạn có thể đăng mã của những gì tôi nên sử dụng

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

requinix

Đăng ngày 2 tháng 12 năm 2019

requinix

  • quản trị viên
    • 14. 4k
    • 296
  • Địa điểm. Mỹ/Los_Angeles

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Bạn đang trộn truy cập đối tượng và mảng với nhau. Nó sẽ không bao giờ hoạt động. Nó sẽ luôn là chỉ đối tượng truy cập hoặc chỉ đối tượng truy cập mảng

Vì “185. 220. 101. 46" không [thông thường] là tên thuộc tính hợp lệ cho một đối tượng, tôi khuyên bạn nên sử dụng dữ liệu mảng từ json_decode. Sau đó, chỉ sử dụng ký hiệu mảng khi cố gắng lấy giá trị

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

đánh dấu107

Đăng ngày 2 tháng 12 năm 2019

đánh dấu107

  • Các thành viên
    • 94

  • Tác giả

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

1 phút trước, requinix nói

Bạn đang trộn truy cập đối tượng và mảng với nhau. Nó sẽ không bao giờ hoạt động. Nó sẽ luôn là chỉ đối tượng truy cập hoặc chỉ đối tượng truy cập mảng

Vì “185. 220. 101. 46" không [thông thường] là tên thuộc tính hợp lệ cho một đối tượng, tôi khuyên bạn nên sử dụng dữ liệu mảng từ json_decode. Sau đó, chỉ sử dụng ký hiệu mảng khi cố gắng lấy giá trị

Tôi không thể xóa "185. 220. 101. 46" bởi vì nó đi kèm với nó khi tôi truy cập vào trang web mà tôi không được phép đăng nó

Vậy tôi phải làm gì sau đó?

Tạo một vòng lặp foreach để tìm nạp các giá trị và lưu trữ trong mảng?

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

requinix

Đăng ngày 2 tháng 12 năm 2019

requinix

  • quản trị viên
    • 14. 4k
    • 296
  • Địa điểm. Mỹ/Los_Angeles

    • Chia sẻ

Đăng ngày 2 tháng 12 năm 2019

Tôi hiện đang làm việc với một số nhà phát triển nước ngoài ngu ngốc nên tôi sẽ đi thẳng vào vấn đề ở đây

Làm cách nào để in đối tượng đối tượng trong PHP?

Nếu biến là một mảng, hàm sẽ in mảng theo định dạng hiển thị các khóa cũng như giá trị, một ký hiệu tương tự được sử dụng cho các đối tượng. Nếu tham số $isStore được đặt thành TRUE thì hàm print_r[] sẽ trả về một chuỗi chứa thông tin cần in. print_r[ $var1 ];

Làm cách nào để sử dụng đối tượng stdClass trong PHP?

Lớp stdClass ¶ . Một số hàm PHP cũng tạo các thể hiện của lớp này, e. g. json_decode[], mysqli_fetch_object[] hoặc PDOStatement. tìm nạpObject[]. Objects of this class can be instantiated with new operator or created by typecasting to object. Several PHP functions also create instances of this class, e.g. json_decode[], mysqli_fetch_object[] or PDOStatement::fetchObject[].

Làm cách nào để truy cập mảng đối tượng stdClass trong PHP?

Đã liên kết .
PHP. Cách truy cập các giá trị phần tử mảng bằng chỉ mục mảng
lặp lại một giá trị trong Đối tượng stdClass trong một mảng trong một đối tượng
PHP - Chuyển đối tượng stdClass thành Chuỗi thành Mảng
Lặp lại qua đối tượng/mảng đa chiều
ErrorException htmlspecialchars[] dự kiến ​​tham số 1 là chuỗi, mảng đã cho

Làm cách nào để tạo một đối tượng stdClass trong PHP?

Tạo đối tượng stdClass . $obj= new stdClass[]; $obj->name= 'W3schools'; $obj->extension= 'In'; var_dump[$object]; ?> Whenever you need a generic object instance in your program, you can use stdClass because when you cast any other type to an object, you will get an instance of stdClass.

Chủ Đề