2010-04-01 51 views
0

幫助我有一個顯示一些XML IM發生的後續代碼var_dump下面的輸出(通過鏈接):需要用foreach和XML

http://bit.ly/aoA3qY

在頁面的最下方,你會看到一些輸出,生成此代碼:

foreach ($xml->feed as $entry) { 
      $title = $entry->title; 
      $title2 = $entry->entry->title; 
     } 
echo $title; 
echo $title2; 

由於某種原因$ title2只輸出一次,哪裏有多個條目?

我使用$xml = simplexml_load_string($data);來創建xml。

回答

0

您在foreach循環的每次迭代中爲$ title和$ tile2重新賦值。循環結束後,只有最後分配的值可以訪問。
可能的替代方案:

// print/use the values within the loop-body 
foreach ($xml->feed as $entry) { 
    $title = $entry->title; 
    $title2 = $entry->entry->title; 
    echo $title, ' ', $title2, "\n"; 
} 

// append the values in each iteration to a string 
$title = $title2 = ''; 
foreach ($xml->feed as $entry) { 
    $title .= $entry->title . ' '; 
    $title2 .= $entry->entry->title . ' '; 
} 
echo $title, ' ', $title2, "\n"; 

// append the values in each iteration to an array 
$title = $title2 = array(); 
foreach ($xml->feed as $entry) { 
    $title[] = $entry->title; 
    $title2[] = $entry->entry->title; 
} 
var_dump($title, $title2);