编程语言
首页 > 编程语言> > php – 从stdClass对象数组中获取数据

php – 从stdClass对象数组中获取数据

作者:互联网

我试图从Vimeo Api中检索该字段的值,我已经尝试了这里提到的所有可能的解决方案.有人能告诉我如何分别从缩略图和网址对象中检索thumnail和url吗?

array(1) {
    [0]=>       
        stdClass Object (
            [allow_adds] => 1
            [embed_privacy] => anywhere
            [id] => 123456789
            [is_hd] => 0
            [is_transcoding] => 0
            [license] => 0
            [privacy] => anybody
            [title] => Soap Opera
            [description] => 
            [upload_date] => 2014-02-20 03:03:50
            [modified_date] => 2014-02-20 19:06:05
            [number_of_plays] => 1
            [number_of_likes] => 0
            [number_of_comments] => 0
            [width] => 600
            [height] => 480
            [duration] => 32
            [owner] => stdClass Object (
                [display_name] => blah
                [id] => 12345678
                [is_plus] => 0
                [is_pro] => 1
                [is_staff] => 0
                [profileurl] => http://vimeo.com/st
                [realname] => ST
                [username] => ST
                [videosurl] => http://vimeo.com/st/videos
                [portraits] => stdClass Object (
                    [portrait] => Array (
                        [0] => stdClass Object (
                            [height] => 30
                            [width] => 30
                            [_content] => http://b.vimeocdn.com/x.jpg
                        )

                        [1] => stdClass Object (
                            [height] => 75
                            [width] => 75
                            [_content] => http://b.vimeocdn.com/x.jpg
                        )

                        [2] => stdClass Object (
                            [height] => 100
                            [width] => 100
                            [_content] => http://b.vimeocdn.com/x.jpg
                        )

                        [3] => stdClass Object (
                            [height] => 300
                            [width] => 300
                            [_content] => http://b.vimeocdn.com/x.jpg
                        )

                    )

                )

            )

            [urls] => stdClass Object (
                [url] => Array (
                    [0] => stdClass Object (
                        [type] => video
                        [_content] => http://vimeo.com/0000
                    )
                )
            )

        [thumbnails] => stdClass Object (
            [thumbnail] => Array (
                [0] => stdClass Object (
                    [height] => 75
                    [width] => 100
                    [_content] => http://b.vimeocdn.com/x.jpg
                )
            )
        )
    )

我有一个数组$vids,其中包含各种vid的元信息以及循环内的另一个调用,该调用获取包含上面显示的每个条目的数组的第二个数组$vidInfo.我可以检索标题等,就像我正常访问一个对象一样.
但我不能再进一步讨论上面的回应.

<?php 
     $vids = $videos->videos->video;    
         foreach ($vids as $vid){
             $id = $vid->id;
             $vidInfo = $vimeo->call('vimeo.videos.getInfo', array('video_id' => $id));
             $vidUrl = $vidInfo->video;  
             echo  $vid->title;
             echo '<br />';
             print_r($vidUrl->urls->url[0]->{'_content'});
             //echo '<pre>' . print_r($vidUrl) .  '</pre>'; 
         }
    ?>

非常感谢

解决方法:

考虑到你有:

    [urls] => stdClass Object
    (
        [url] => Array
            (
                [0] => stdClass Object
                    (
                        [type] => video
                        [_content] => http://vimeo.com/0000
                    )

            )

    )

访问对象是通过object-access-operator( – >)完成的,而访问数组是通过方括号([x])完成的.
所以你最终得到了urls-> url [0] – > _content.由于url是一个对象,url是一个数组,其第一个([0])索引包含另一个对象.

简而言之,要回答完整的原始问题:
$object-> urls-> url [0] – > _content是网址

$object->缩略图 – >缩略图[0] – > _content是缩略图

标签:stdclass,php,object,api,vimeo
来源: https://codeday.me/bug/20190725/1531134.html