2013-04-18 35 views
-1

我想呼應這些鏈接如下:PHP的foreach呼應琴絃

Title 
http://www.link.com 
Title 2 
http://www.link2.com 

相反,他們來是這樣的:

Title 
http://www.link.com 
http://www.link2.com 
Title2 
http://www.link.com 
http://www.link2.com 

這裏是我使用的代碼:

foreach($links as $link){ 
    echo $link."<br>"; 
     foreach($linksx as $linkx){ 
    echo $linkx."<br>"; 
    } 
} 

謝謝你的幫助。

+0

這是因爲你的循環在*整個*'$ linksx'數組爲* $鏈接中的每個*元素。 –

+0

如果$ links包含標題和$ linkx url,您應該有一個'for'來同時在兩個列表上進行交互。這裏你的第二個foreach是打印每個標題的所有網址。 –

回答

0

你的意思是嵌套循環?

foreach($links as $link) 
{ 
    echo $link."<br>"; 
} 
foreach($linksx as $linkx) 
{ 
    echo $linkx."<br>"; 
} 
+0

不,使用你的代碼,他們來作爲 標題 標題2 http://www.link.com http://www.link2.com 我想輸出1標題和每次1個鏈接。感謝您的幫助 – user1938320

2

這是因爲你的循環在整個$linksx陣列每個元素$links。你想要的是循環一個數組,然後在另一個數組中獲得它的對應部分。

foreach($links as $key=>$link){ 
    $linkx = $linksx[$key]; 
    echo $link."<br>".$linkx."<br>"; 
} 
+0

Woah,真的非常感謝我在尋找什麼,如何去除$ links中的最後一個輸出? – user1938320

+0

@ user1938320:你的意思是後面的'
'? –

4

由於你有2個不同的數組,你必須在同一時間迭代它們,而不是一個在另一個內部迭代。

假設陣列數字(基本陣列)索引,並且具有相同的大小(相同數量的元素),你可以寫

for($i = 0 ; $i < count($links) ; $i++) 
{ 
    echo $links[$i] . "<br />"; 
    echo $linksx[$i]; 
} 
+0

謝謝你做了我一直在尋找的東西,謝謝! – user1938320