2012-07-27 67 views
0

我想使用foreach將結果保存到文件,但它只寫入數組的最後結果。Foreach只輸出最後一項

include_once('../simple_html_dom.php'); 
$myFile = "urls.txt"; 
$fh = fopen($myFile, 'a') or die("can't open file"); 

$html = file_get_html('the-url'); 

foreach($html->find('a.bnone') as $element) 

    $stringData = $element->href . '\n'; 
    fwrite($fh, $stringData); 
     //echo $element->href . '<br>'; 

註釋的echo工作並顯示所有結果,fwrite只將最後一個結果寫入文件。問題是什麼?

+0

什麼是HTML代碼?也許'a.bnone'只會選擇最後一個元素,而不是全部。 – 2012-07-27 00:59:04

回答

1

您需要將大括號您for each身邊,因爲你在那裏有兩個語句,但只有第一個是在foreach繞環,最後一個元素因此放在$stringDatafwrite函數只調用一次。

foreach($html->find('a.bnone') as $element) { 

    $stringData = $element->href . '\n'; 
    fwrite($fh, $stringData); 
    //echo $element->href . '<br>'; 
} 
+0

哎喲,就是這樣。非常感謝 :) – Pedro 2012-07-27 01:05:10