一直在嘗試使用兩個陣列并從陣列中提取資訊。我可以用 foreach 做到這一點,但我有鏈接檔案參考(一個 ID),它以另一個陣列中的資料為目標。
陣列 1 -
Array
(
[type] => land
[id] => 0b1b522e-0cd2-4880-b3ac-a5d86bc2e837
[relationships] => Array
(
[address] => Array
(
[data] => Array
(
[type] => address
[id] => bb89e6c3-9114-4192-a0a7-82c08402d36e
)
)
[details] => Array
(
[data] => Array
(
[type] => details
[id] => f8f0e489-bb86-4857-a815-ab6338d90f26
)
)
[lettingsListing] => Array
(
[data] =>
)
[primaryImage] => Array
(
[data] => Array
(
[type] => media
[id] => 58574088-01a2-45da-a66e-cd3ce1741377
)
)
[images] => Array
(
[data] => Array
(
[0] => Array
(
[type] => media
[id] => 58574088-01a2-45da-a66e-cd3ce1741377
)
[1] => Array
(
[type] => media
[id] => 32d9d605-d55d-48b7-aa62-5e22f762f165
)
[2] => Array
(
[type] => media
[id] => c879656a-a34f-4c93-b6c7-49d3c7b11804
)
[3] => Array
(
[type] => media
[id] => 434f8d79-df19-474d-a275-6c9a5fb0985b
)
[4] => Array
(
[type] => media
[id] => cefccee0-cd30-4c69-9f6f-2bd76116a619
)
[5] => Array
(
[type] => media
[id] => c0377f6c-4279-4176-a5bd-0190b7fd97a8
)
[6] => Array
(
[type] => media
[id] => 6869c65a-bb55-4b9f-8dc1-71ffa5eb84dc
)
[7] => Array
(
[type] => media
[id] => c9b13725-059a-4c96-a8fd-77c9fc9fe05f
)
[8] => Array
(
[type] => media
[id] => edbdddb2-afc7-43ab-9a79-94e0e8e63597
)
[9] => Array
(
[type] => media
[id] => 320de2d7-6ecd-4ec7-9250-f72e228be8a7
)
[10] => Array
(
[type] => media
[id] => 63daaccf-d8d2-4b55-aece-5a01e379fba0
)
[11] => Array
(
[type] => media
[id] => 5d2c253a-03f5-4ea0-b06d-dd17c80d5f3b
)
)
)
)
)
陣列中的影像如下:
[0] => Array
(
[type] => media
[id] => 58574088-01a2-45da-a66e-cd3ce1741377
)
然后 ID 對應于另一個陣列(陣列 2)
Array
(
[type] => media
[id] => 58574088-01a2-45da-a66e-cd3ce1741377
[attributes] => Array
(
[name] => p048205_01
[order] => 1
[is_featured] =>
[feature_index] =>
[title] =>
[is_image] => 1
[url] => ***urlhere***
)
)
)
所以我的問題是如何從另一個陣列中獲取每個 ID 的關聯資料([url])。我想過 array_merge 但這沒有幫助。我唯一的其他想法是在當前回圈中做一個 foreach 但我聽說最好不要這樣做?
uj5u.com熱心網友回復:
創建一個新陣列來保存您稱為 array2 的影像 url,但它具有id作為鍵,因此您可以直接從另一個 foreach 回圈跳轉到 URL。
$img_urls = []
foreach( $array2 as $a ) {
$img_urls[$a['id']] = $a;
}
或者,如果您只想要這個新陣列中的 url
$img_urls = []
foreach( $array2 as $a ) {
$img_urls[$a['id']] = $a['attributes']['url'];
}
uj5u.com熱心網友回復:
正如 RiggsFolly 所說,您需要使用如下影像操作第二個陣列:
$new_arr_images = [];
foreach ($arr_images as $value) {
$new_arr_images[$value['id']] = $value['attributes']['url'];
}
// then loop through first array and populate it with image urls based on the ID
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443557.html
