0

次の配列を返すsoap関数を呼び出しています。

Array ( [FastAddressResult] => Array ( [IsError] => false [ErrorNumber] => 0 [ErrorMessage] => [Results] => Array ( [Address] => Array ( [Id] => 13872147.00 [OrganisationName] => [DepartmentName] => [Line1] => Methley Grove [Line2] => [Line3] => [Line4] => [Line5] => [PostTown] => Leeds [County] => West Yorkshire [Postcode] => LS7 3PA [Mailsort] => 64121 [Barcode] => [IsResidential] => false [IsSmallOrganisation] => false [IsLargeOrganisation] => false [RawData] => [GeographicData] => Array ( [GridEastM] => 0 [GridNorthM] => 0 [Objective2] => false [Transitional] => false [Longitude] => 0 [Latitude] => 0 [WGS84Longitude] => 0 [WGS84Latitude] => 0 ) ) ) )

次の値が機能しないように見える値を抽出する必要があります。

$this->adressline1 = $result->FastAddressResult->Results->Address->Line1;
4

3 に答える 3

6

試す:

$this->adressline1 = $result[ "FastAddressResult" ][ "Results" ][ "Address" ][ "Line1" ];

$ resultがオブジェクトの場合は、$ result->fastAddressResult->etcを使用します。PHPアレイの詳細については、このページを確認してください。

また、そのような複雑なアレイには、特定のデザインの匂いがあります。あなたはそれをより単純でより読みやすくする方法を考えることができます。

于 2010-04-27T08:04:10.373 に答える
1

明らかに、プログラミングのクラスで配列を取り上げたとき、誰かが注意を払っていませんでした...

$this->adressline1 = $result['FastAddressResult']['Results']['Address']['Line1'];

または、最初に配列を stdClass に変換します。

$data = (object) $myarray;

ただし、その中のすべての配列に対してもそれを行う必要があるため、いいえ。

于 2010-04-27T08:06:55.367 に答える
1

このように使って、

$res と呼ばれる変数に格納された配列

   echo $res[ "FastAddressResult" ][ "Results" ][ "Address" ][ "Line1" ];
于 2010-04-27T08:11:53.797 に答える