[英]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.