可能重复:
Able to see a variable in print_r()'s output, but not sure how to access it in code
我正在使用SOAP从服务器获取数据,作为回应我正在获得像这样的php数组
Array
(
[BookResult] => stdClass Object
(
[PNR] => 5WPODU
[BookingId] => 31149
[Status] => stdClass Object
(
[StatusCode] => 03
[Description] => Fare is not available at the time of booking
[Category] => BK
)
[SSRDenied] => N
[ProdType] => Flight
)
)
我想知道的是如何在单独的变量中提取“PNR”和“StatusCode”值,以便我可以将它们存储在数据库中。
试图这不起作用
$p = (object) $array;
echo $p->StatusCode;
答案 0 :(得分:4)
试试这个:
$PNR = $array["BookResult"]->PNR;
$StatusCode= $array["BookResult"]->Status->StatusCode;
$ array是一个数组。所以第一次潜水是$ array ['BookResult']。 BookResult是stdClass实例,接下来是$ array ['BookResult'] - > Status(获取对象的属性)。 状态也是stdClass实例,所以得到它的属性:$ array ['BookResult'] - > Status-> StatusCode
答案 1 :(得分:0)
假设结果存储在$ array
中echo $array['BookResult']->Status->StatusCode;
echo $array['BookResult']->PNR;
答案 2 :(得分:0)
var_dump($array['BookResult']->PNR);
var_dump($array['BookResult']->Status->StatusCode);