doutao6653 2012-02-09 22:51
浏览 82
已采纳

用PHP读取var_dump数据

May I know how can I retrieve givenNmae and middlename value in each array in the following example with PHP? Thank you.

object(stdClass)#13 (1) 
{ ["contact"]=> array(157) { 
    [0]=> object(stdClass)#14 (6) { 
        ["created"]=> string(20) "2007-10-27T04:54:45Z" 
        ["updated"]=> string(20) "2007-10-27T04:54:45Z" 
        ["uri"]=> string(73) "http://social.yahooapis.com/v1/user/SAFWRTHXMZPTISKTIEJPYKLW4I/contact/557" 
        ["isConnection"]=> string(5) "false" 
        ["id"]=> string(2) "57" 
        ["fields"]=> array(2) { 
            [0]=> object(stdClass)#15 (8) { 
                ["created"]=> string(20) "2007-10-27T04:54:45Z" 
                ["updated"]=> string(20) "2007-10-27T04:54:45Z" 
                ["uri"]=> string(85) "http://social.yahooapis.com/v1/user/SAFWRTHXMZPTISKTIEJPYKLW4I/contact/57/otherid/1351" 
                ["id"]=> string(3) "131" 
                ["type"]=> string(7) "otherid" 
                ["value"]=> string(31) "anastasis_bla@hotmail.com" 
                ["editedBy"]=> string(5) "OWNER" 
                ["flags"]=> string(3) "MSN" 
            } 
            [1]=> object(stdClass)#16 (7) { 
                ["created"]=> string(20) "2007-10-27T04:54:45Z" 
                ["updated"]=> string(20) "2007-10-27T04:54:45Z" 
                ["uri"]=> string(82) "http://social.yahooapis.com/v1/user/SAFWRTHXMZPTISKTIEJPYKLW4I/contact/57/name/1310" 
                ["id"]=> string(3) "130" 
                ["type"]=> string(4) "name" 
                ["value"]=> object(stdClass)#17 (7) {
                    ["givenName"]=> string(61) "- miss elaine" 
                    ["middleName"]=> NULL 
                    ["familyName"]=> NULL 
                    ["prefix"]=> NULL 
                    ["suffix"]=> NULL 
                    ["givenNameSound"]=> NULL 
                    ["familyNameSound"]=> NULL 
                } 
                ["editedBy"]=> string(5) "OWNER" 
            } 
        } 
    } [1]=> object(stdClass)#18 (6) { 
        ["created"]=> string(20) "2009-04-05T13:02:53Z" 
        ["updated"]=> string(20) "2009-04-05T13:02:53Z" 
        ["uri"]=> string(74) "http://social.yahooapis.com/v1/user/SAFWRTHXMZPTISKTIEJPYKLW4I/contact/11" 
        ["isConnection"]=> string(5) "false" 
        ["id"]=> string(3) "116" 
        ["fields"]=> array(2) {
            [0]=> object(stdClass)#19 (8) { 
                ["created"]=> string(20) "2009-04-05T13:02:53Z" 
                ["updated"]=> string(20) "2009-04-05T13:02:53Z" 
                ["uri"]=> string(86) "http://social.yahooapis.com/v1/user/SAFWRTHXMZPTISKTIEJPYKLW4I/contact/116/otherid/52" 
                ["id"]=> string(3) "252" 
                ["type"]=> string(7) "otherid" 
                ["value"]=> string(25) "kellying@hotmail.com" 
                ["editedBy"]=> string(5) "OWNER" 
                ["flags"]=> string(3) "MSN" 
            } [1]=> object(stdClass)#20 (7) { 
                ["created"]=> string(20) "2009-04-05T13:02:53Z" 
                ["updated"]=> string(20) "2009-04-05T13:02:53Z" 
                ["uri"]=> string(83) "http://social.yahooapis.com/v1/user/SAFWRTHXMZPTISKTIEJPYKLW4I/contact/116/name/21" 
                ["id"]=> string(3) "251" 
                ["type"]=> string(4) "name" 
                ["value"]=> object(stdClass)#21 (7) {
                    ["givenName"]=> string(26) "Kelly" 
                    ["middleName"]=> NULL 
                    ["familyName"]=> NULL 
                    ["prefix"]=> NULL 
                    ["suffix"]=> NULL 
                    ["givenNameSound"]=> NULL 
                    ["familyNameSound"]=> NULL } 
                    ["editedBy"]=> string(5) "OWNER" 
            } 
        } 
    } 
  • 写回答

3条回答 默认 最新

  • doumi1852 2012-02-09 22:57
    关注

    You'll want to read the var dump types to determine how to access the data structure. If it says object (e.g., in your dump it first lists object(stdClass)#13), then you'll use -> operator to access the listed elements (e.g., $object->contact). If it says array, you can use index notation [0] or, if more than one element, iterate with a loop construct:

    foreach ($object->contact as $contact) {
        foreach ($contact->fields as $field) {
            if ($field->type == 'name') {
                echo $field->value->givenName, ' ', echo $field->value->middleName;
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请问有会的吗,用MATLAB做
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 ARIMA模型时间序列预测用pathon解决
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址
  • ¥50 html2canvas超出滚动条不显示