-1

可能重复:
能够在 print_r() 的输出中看到一个变量,但不确定如何在代码中访问它

我正在使用 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;  
4

3 回答 3

4

试试这个:

$PNR = $array["BookResult"]->PNR;
$StatusCode= $array["BookResult"]->Status->StatusCode;

$array 是一个数组。所以第一次潜水是 $array['BookResult']。BookResult 是 stdClass 实例,所以接下来是 $array['BookResult']->Status (获取对象的属性)。Status 也是 stdClass 实例,所以获取它的属性: $array['BookResult']->Status->StatusCode

于 2012-10-17T12:23:36.373 回答
0

假设结果存储在 $array

echo $array['BookResult']->Status->StatusCode;
echo $array['BookResult']->PNR;
于 2012-10-17T12:23:55.640 回答
0
var_dump($array['BookResult']->PNR);   
var_dump($array['BookResult']->Status->StatusCode);
于 2012-10-17T12:32:53.110 回答