我有2個數組與相同數量的項目。一個存儲類表示社交媒體,另一個存儲與該類配對的URL。他們看起來像這樣:回聲嵌套的foreach沒有重複PHP
$array1 = ([0]=>twitter,[1]=>facebook,[2]=>linkedin);
$array2 = ([0]=>http://www.twitter.com/username123,[1]=>http://www.facebook.com/user-name123,[2]=>http://www.linkedin.com/stuff/username123);
我想通過陣列在同一時間循環,打印數據在其各自的地方創建社交媒體鏈接。我目前有這樣的:
foreach ($array1 as $k1=>$class){
foreach ($array2 as $k2=>$URL){
echo '<li><a href="'.$URL.'" class="'.$class.'">Visit Site</a></li>';
}
}
這重複每個項目兩次,我認爲是由於嵌套的foreach。
如果我將echo語句移到嵌套函數之外,它會打印我想要的所有類,但只會從該數組中獲取最後一個URL。
如何打印單個列表項,每個配對的鏈接組合?我看到array_unique刪除重複,但我是一個嚴重的PHP n00b。
謝謝。
我打算提交相同的答案。有一點需要注意,如果count($ array1)!== count($ array2);''array_combine'將會失敗。 – Leri
是的,它會失敗。我不確定是否應該編輯我的評論,因爲作者沒有提到在這種情況下要做什麼。 –
這工作很好。我注意到array_combine沒有完全相同的計數失敗,但是在這個用例中計數總是匹配的。 – CreMedian