Hướng dẫn how to access stdclass object in php - cách truy cập đối tượng stdclass trong php

Tôi có một đối tượng STDCLASS như hình dưới đây:

stdClass Object
[     
    [text] => Parent
    [values] => Array
        [
            [0] => stdClass Object
                [
                    [id] => /m/0c02911
                    [text] => Laurence W. Lane Jr.
                    [url] => //www.freebase.com/view/m/0c02911
                ]

        ]

]

Tôi lặp lại nhiều đối tượng như vậy, một số trong đó có

stdClass Object
[
    [text] => Named after
    [values] => Array
        [
            [0] => stdClass Object
                [
                    [id] => /m/0c02911
                    [text] => Stanford
                    [url] => SomeURL
                ]

        ]

]

Tôi đã tự hỏi làm thế nào tôi sẽ truy cập vào đối tượng "giá trị" nếu nó xuất hiện sau một "văn bản" có "cha mẹ" là giá trị của nó?

Đã hỏi ngày 3 tháng 5 năm 2011 lúc 21:13May 3, 2011 at 21:13

5

Có những cách máy chủ để biến nó thành mảng:

Giải pháp đầu tiên:

stdClass Object
[
    [text] => Named after
    [values] => Array
        [
            [0] => stdClass Object
                [
                    [id] => /m/0c02911
                    [text] => Stanford
                    [url] => SomeURL
                ]

        ]

]
3

Giải pháp thứ hai:

$value = [array] $object;

Giải pháp thứ ba

$value = json_decode[json_encode[$object], true];

Để nhận giá trị của mảng đã chuyển đổi

echo $value['values']['0']['id'];

Cách khác để truy cập các đối tượng VAR mà không cần chuyển đổi đối tượng, hãy thử

$object->values->{'0'}->id

Đã trả lời ngày 26 tháng 2 năm 2013 lúc 16:41Feb 26, 2013 at 16:41

2

Mở rộng [hoặc đúng hơn là tối thiểu] Khi trả lời bởi Somwang Souksavatd, tôi thích truy cập các giá trị đối tượng như thế này:

echo get_object_vars[$object]['values']['0']['id'];

Đã trả lời ngày 15 tháng 2 năm 2014 lúc 22:38Feb 15, 2014 at 22:38

1

Tôi đã có cùng một vấn đề, vẫn không chắc tại sao nhưng tôi có thể giúp nó hoạt động bằng cách sử dụng cách giải quyết này:

$k2 ="1";
$elements = json_decode['{"id":"1","name":"User1"}'];
//$elements['id'] == $k2;  //****Not Working
$tmp  = [object]$elements;
$tmp = $tmp ->id;          //****Working
//$tmp =$elements['id'] ;  //****Not Working
return $tmp == $k2;

Tôi phải nói rằng đôi khi truy cập phần tử khi mảng hoạt động và một số lần thì không, [trên PHP7, nó đã hoạt động cho tôi nhưng trên PHP5.6 thì không].

stdClass Object
[
    [text] => Named after
    [values] => Array
        [
            [0] => stdClass Object
                [
                    [id] => /m/0c02911
                    [text] => Stanford
                    [url] => SomeURL
                ]

        ]

]
4 có thể là mảng nhưng tôi đã chọn chứng minh với chuỗi JSON.

Tôi hy vọng điều này sẽ giúp bằng cách nào đó !!!

Đã trả lời ngày 2 tháng 3 năm 2016 lúc 7:56Mar 2, 2016 at 7:56

Pini Cheynipini CheyniPini Cheyni

4.6762 Huy hiệu vàng38 Huy hiệu bạc54 Huy hiệu Đồng2 gold badges38 silver badges54 bronze badges



        $Obj=stdClass Object
    [
        [text] => Named after
        [values] => Array
            [
                [0] => stdClass Object
                    [
                        [id] => /m/0c02911
                        [text] => Stanford
                        [url] => SomeURL
                    ]

            ]

    ]
    $Values= $result->values;
    $Item = $Values[0];
    $id=$Item->id;
    $text = $Item->text;
    $url=$Item->url;


Đã trả lời ngày 31 tháng 5 năm 2013 lúc 4:53May 31, 2013 at 4:53

Tôi đang làm điều tương tự và tất cả những gì tôi đã làm là thế này;

Bài Viết Liên Quan

Chủ Đề