2014-10-20 68 views
3

我正在嘗試獲取數組的所有值,但我只獲取最後一個元素。foreach只發現數組的最後一個元素

(最後描述和最後一個鏈接)。

這裏是代碼:

$content = str_get_html($html); 
$links = $content->find('.myclass a'); 

foreach($links as $k => $v) 
{ 
    $descr= $v-> plaintext; 
    $link_to= $v->href; 

    $a=array( 
      1 => $descr, 
      2 => $link_to); 
} 

return a$; 

哪能循環,整個陣列?

回答

4

每個循環都覆蓋相同的數組。您需要添加另一個層面:

$content = str_get_html($html); 
$links = $content->find('.myclass a'); 

$a = array(); 
foreach($links as $k => $v) { 
    $descr = $v->plaintext; 
    $link_to = $v->href; 

    $a[] = array(1 => $descr, 2 => $link_to); 
    //^add another dimension 

    // DONT USE THIS! You are overwriting it every loop 
    // $a = array(1 => $descr, 2 => $link_to); 
} 

// return a$; ? a$ maybe `$a` 
+0

**哈利路亞謝謝** – user1739222 2014-10-20 13:53:33

+1

@ user1739222高興這有助於 – Ghost 2014-10-20 13:54:58

+0

@ user1739222可以請你接受的答案嗎? – seanyt123 2014-10-20 14:29:21

相關問題