簡體   English   中英

從Json Array PHP提取此字段

[英]Extract This Field From Json Array PHP

嗨,大家好,我一直在使用通過api返回的JSON數組。

[ 
{ "Id": "81654bdf-f56d-4e0e-ad3a-57860ad5be24", 
"Name": "TESCO PLC", 
"Address": { "StreetNumber": null, 
         "StreetName": "TESCO HOUSE SHIRE PARK", 
         "PostCode": "AL7 1GA", 
         "City": "WELWYN GARDEN CITY", 
         "StateCode": "AL", 
         "CountryCode": "GB" }, 
"PhoneNumber": "44-1992632222", 
"LegalFormCode": "PLC", 
"ExternalIds": [ { "ExternalId": "1057587", "ExternalService": "eulerid" },
             { "ExternalId": "00445790", "ExternalService": "CRO" }, 
             { "ExternalId": "216854067", "ExternalService": "DUN" }, 
             { "ExternalId": "2189357501", "ExternalService": "HRM" }, 
             { "ExternalId": "220430231", "ExternalService": "TVAGB" }, 
             { "ExternalId": "345370", "ExternalService": "ACI" }, 
             { "ExternalId": "376445", "ExternalService": "HCIS" }, 
             { "ExternalId": "38", "ExternalService": "GROUP" }, 
             { "ExternalId": "432577", "ExternalService": "PNCH" }, 
             { "ExternalId": "5594389", "ExternalService": "SIACID" }, 
             { "ExternalId": "574064", "ExternalService": "EHIPNR" }, 
             { "ExternalId": "7013000615", "ExternalService": "EURODB" }, 
             { "ExternalId": "FE0181198", "ExternalService": "SFACID" }, 
             { "ExternalId": "G14788", "ExternalService": "KMV" } ] },

要提取街道名稱,我使用了:$ buyerStreetName = $ row ['Address'] ['StreetName'];

我現在如何嘗試捕獲eulerid,卻不知道如何處理,因為它沒有唯一的字段名稱,因此我需要獲取ExternalId = ExternalService = eulerid

謝謝你的幫助

這應該可以解決問題:

<?php

foreach ($row['ExternalIds'] as $val)
{
    if ($val['ExternalService'] == 'eulerid') {
         $externalId = $val['ExternalId'];
    }
}

我傾向於使用array_column()創建數據的關聯數組以array_column()訪問,因此代碼可以歸結為...

foreach ( $data as $row )   {
    $externalIds = $row["ExternalIds"];
    $externalIds = array_column($externalIds, "ExternalId", "ExternalService");
    echo $externalIds["eulerid"];
}

(外部的foreach()可能已經存在,只是為了完整起見)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM