2014-07-17 104 views
-1

我對PHP相當陌生,並且正在編寫一個從SOAP獲取對象的PHP函數。 我發現了一個代碼將其轉換爲數組,但我無法設法回顯任何數據。如何回顯數組值

數組從print_r的

Array 
(
    [Status] => Array 
     (
      [Code] => 0 
      [Message] => OK 
     ) 

    [Order] => Array 
     (
      [OrderNumber] => 9334543 
      [ExternalOrderNumber] => 
      [OrderTime] => 2014-07-15T15:20:31+02:00 
      [PaymentMethod] => invoice 
      [PaymentStatus] => Paid 
      [ShipmentMethod] => Mypack 
      [DeliveryStatus] => Delivered 
      [Language] => sv 
      [Customer] => Array 
       (
        [CustomerId] => 13556 
        [CustomerNumber] => 
        [Username] => admin 
        [Approved] => 1 
        [OrgNumber] => 9309138445 
        [Company] => 
        [VatNumber] => 
        [FirstName] => Jane 
        [LastName] => Doe 
        [Address] => Gatan 
        [Address2] => 
        [Zip] => 1230 
        [City] => Staden 
        [Country] => Sweden 
        [CountryCode] => SE 
        [PhoneDay] => 84848474 
        [PhoneNight] => 
        [PhoneMobile] => 
        [Email] => [email protected] 
        [NewsLetter] => 
        [OrgType] => person 
        [OtherDelivAddress] => 
        [DelivName] => 
        [DelivAddress] => 
        [DelivAddress2] => 
        [DelivZip] => 
        [DelivCity] => 
        [DelivCountry] => 
        [DelivCountryCode] => 
       ) 

      [Comment] => 
      [Notes] => 9063025471 UK/MA 
      [CurrencyCode] => SEK 
      [ExchangeRate] => 1 
      [LanguagePath] => se 
      [FreightWithoutVat] => 0 
      [FreightWithVat] => 0 
      [FreightVatPercentage] => 25 
      [PayoptionFeeWithoutVat] => 0 
      [PayoptionFeeWithVat] => 0 
      [PayoptionFeeVatPercentage] => 25 
      [CodWithoutVat] => 0 
      [CodWithVat] => 0 
      [CodVatPercentage] => 0 
      [DiscountWithoutVat] => 0 
      [DiscountWithVat] => 0 
      [DiscountVat] => 0 
      [TotalWithoutVat] => 4388 
      [TotalWithVat] => 5485 
      [TotalVat] => 1097 
      [PayWithoutVat] => 
      [AffiliateCode] => 
      [AffiliateName] => 
      [OrderField] => Array 
       (
        [0] => Array 
         (
          [Name] => external_ref 
          [Value] => 43445 
         ) 

        [1] => Array 
         (
          [Name] => webshopid 
          [Value] => 423 
         ) 

        [2] => Array 
         (
          [Name] => webshopname 
          [Value] => Manuell 
         ) 

       ) 

     ) 

) 

非工作代碼

echo $array[1][0] 

我已經試過指標不同的連擊。我知道如何從肥皂對象返回值,但如果我可以這樣做,它會更容易。它應該工作不應該嗎?

+0

您希望回顯哪部分? – t3chguy

+0

print_r($ array); – MH2K9

+0

那麼地址,姓氏等,但只要我設法回顯一個值我可以休息工作 – user3848819

回答

0

你應該使用$array['Status']['Code']$array['Status']['Message']$array['Order']['OrderNumber'],$array['Order']['Customer']['CustomerId']等顯示您的數據。這是一個關聯數組,因此您需要使用字符串鍵而不是數字

+0

我在MarcinNabiałek做的8分鐘前提供了同樣的答案。我的答案被投票了2次,但他被選爲接受的答案。 @ user3848819我只是好奇......我錯過了什麼嗎?我檢查了答案編輯日誌,但我找不到任何東西... –

+0

@tastro可能你的答案太短,但我不知道。我沒有低聲讚揚你很難說。 –

1

$ array [1]是數組的第二個索引。這個陣列我們「狀態」的關鍵,這個數組包含一個代碼和消息

我假設你想呼應的消息,你可以做到這一點與以下

echo $array[1]["Status"]["Message"]; 
0

嘗試訪問數組中的元素與字符串鍵,而不是你所使用的整數的:

echo $array['Order']['Customer']['Address']; 

另一種方式,你可以看到正在發生的事情是通過數組迭代,並打印出的鍵和值:

foreach ($array as $key => $value) 
    echo "Key=$key value=$value<br>"; 
0

嘗試

$array['Order']['Customer']['LastName'] 

是不失我的理智在這一條線我最好的猜測。 但我們可以肯定的請張貼print_r($array)輸出

+0

你是對的,它的效果很好:) – user3848819

0

有一些方法,我總是這樣做:

print_r($array); 

而另一種方式是

$array[0]['Order']['LastName']