ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – 如何访问$array [@key]值

2019-06-09 14:14:39  阅读:349  来源: 互联网

标签:php arrays array-key arrayobject


我正在使用expedia API并且它运行良好,但我不知道如何访问这种特殊类型的数组键.回复如下

$response = 
stdClass Object
(
    [@size] => 1
    [@activePropertyCount] => 144
    [city] => 1
    [@hotelId] => 12345
    [HotelSummary] => stdClass Object
        (
            [@order] => 0
            [@ubsScore] => 1074874
            [hotelId] => 151689
            [RoomRateDetailsList] => stdClass Object
                (
                    [RoomRateDetails] => stdClass Object
                        (
                            [roomTypeCode] => 195577
                            [rateCode] => 202369379
                            [maxRoomOccupancy] => 3
                            [quotedRoomOccupancy] => 2
                            [minGuestAge] => 0
                            [roomDescription] => Deluxe Room
                            [propertyAvailable] => 1
                            [propertyRestricted] => 
                            [expediaPropertyId] => 526332
                        )
                )
        )
)

我想在’city’键下访问@hotelId的值,但我不能

我试过两种类型,但两次失败都没有

$response->hotelId
and 
$response->@hotelId

请帮帮我..提前谢谢你

解决方法:

这应该适合你:

(这是因为您无法访问没有合法变量名称的属性,因此您必须使用卷曲语法)

echo $response->{"@hotelId"};

您可以在手册中阅读更多相关信息:http://php.net/manual/en/language.variables.variable.php

从那里引用:

Curly braces may also be used, to clearly delimit the property name. They are most useful when accessing values within a property that contains an array, when the property name is made of mulitple parts, or when the property name contains characters that are not otherwise valid (e.g. from json_decode() or SimpleXML).

标签:php,arrays,array-key,arrayobject
来源: https://codeday.me/bug/20190609/1205456.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有