2012-04-21 79 views
0

我想顯示來自每個唯一ID的XML請求的圖像。應該顯示總共三張圖像,但是我獲得了三次相同的圖像。foreach trouble

這些ID存儲正確的位置:

$simIds = array(
    "id1" => $similarObject->place[0]['place_id'], 
    "id2" => $similarObject->place[1]['place_id'], 
    "id3" => $similarObject->place[2]['place_id'], 
); 

這裏是我的foreach循環:

foreach ($simIds as $foo) { 
    $simPhotoFile = $photoUrl.$foo; 
    $simPhotoObject = simplexml_load_file($simPhotoFile); 
    $simPhotoSrc = array (
     'src1' => $simPhotoObject->photos->photo_set->square, 
     'src2' => $simPhotoObject->photos->photo_set->square, 
     'src3' => $simPhotoObject->photos->photo_set->square,  
    ); 
} 

相關的HTML:

<p><img src="<?= $simPhotoSrc['src1'] ?>" alt="Image load failed" /><img src="<?= $simPhotoSrc['src2'] ?>" alt="Image load failed" /><img src="<?= $simPhotoSrc['src3'] ?>" alt="Image load failed" /></p> 

林真的不知道我在做什麼在這一點上是錯誤的,或者如果有更好的方法去做這件事。謝謝你的幫助!

+0

你爲什麼鍵控他們 「ID1」,而不是使用數組?爲什麼你只需要一個變量值來硬編碼一個數組'function simIDAt(id){return place [id] ['placeid'];}'?別這麼努力了 – Incognito 2012-04-21 22:55:49

+0

我不太確定我明白這是如何工作的。你已經聲明瞭一個名爲simIDAt的函數,它被送入一個變量「id」,並返回一個變量place [id] ['place_id'] ?? – pizoelectric 2012-04-21 23:59:25

回答

0
$simPhotoSrc = array(); 
foreach ($simIds as $foo) { 
    $simPhotoFile = $photoUrl.$foo; 
    $simPhotoObject = simplexml_load_file($simPhotoFile); 
    $simPhotoSrc[] = $simPhotoObject->photos->photo_set->square 
} 

HTML:

<p><img src="<?= $simPhotoSrc[0] ?>"/><img src="<?= $simPhotoSrc[1] ?>" /><img src="<?= $simPhotoSrc[2] ?>" /></p> 
+0

我試過了,根本沒有加載圖像。 $ simPhotoSrc [0]打印時不輸出任何內容。我可以看到你要做什麼,我只是不明白爲什麼它不起作用。 – pizoelectric 2012-04-22 00:01:42

+0

沒關係,我缺少一個額外的XML標籤:$ simPhotoSrc [] = $ simPhotoObject - > **照片** - > photo_set-> square;它現在工作完美,謝謝! – pizoelectric 2012-04-22 00:03:30