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