繁体   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