-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(オブジェクトのプロパティを取得)に移動します。ステータスも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 に答える