从php数组中提取值

时间:2012-10-17 12:21:36

标签: php object multidimensional-array

  

可能重复:
  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;  

3 个答案:

答案 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);