2 回答

TA貢獻1829條經驗 獲得超13個贊
您可以使用一個簡單的foreach
循環array_merge
來合并兩個子數組。
<?php
$result = [];
foreach($array_1 as $index => $val){
? $result[] = array_merge($val,$array_2[$index]);
}
print_r($result);

TA貢獻1842條經驗 獲得超13個贊
使用循環合并轉置數組數據,然后使用另一個循環打印到屏幕是間接編程。
理想情況下,如果可能的話,您應該嘗試在代碼的早期合并這些結構(我不知道這些數據集來自哪里,所以我無法提供建議。)
否則,保持兩個數組不合并,只編寫一個循環來打印到屏幕上。由于兩個數組預計通過索引相互關聯,因此不會有生成通知的風險。
既然我正在寫這篇文章,我將借此機會透露一些有用的技巧:
您可以使用數組語法來解壓單元素子數組,其中靜態鍵指向
foreach()
.使用
printf()
可以幫助減少由串聯/插值引起的在線膨脹/混淆。通過將占位符 (%s
) 寫入字符串,然后在尾隨參數中傳遞這些占位符的值,通??梢蕴岣呖勺x性。
代碼:(演示)
$sites = [['title' => 'Google'], ['title' => 'Bing']];
$links = [['link' => 'www.example1.com'], ['link' => 'www.example2.com']];
foreach ($sites as $index => ['title' => $title]) {
printf(
'%s - <a href="%s">See website</a></br>',
$title,
$links[$index]['link']
);
}
輸出:
Google - <a href="www.example1.com">See website</a></br>
Bing - <a href="www.example2.com">See website</a></br>
- 2 回答
- 0 關注
- 151 瀏覽
添加回答
舉報