2012-04-21 7 views
0

각 고유 ID에 대한 XML 요청의 이미지를 표시하려고합니다. 총 세 개의 이미지가 표시되어야하지만 같은 이미지가 세 번 나옵니다.foreach 문제

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

+0

나는 이것이 어떻게 작동하는지 잘 모르겠다. 변수 "id"가 공급되는 simIDAt라는 함수를 선언하고 변수 place [id] [ 'place_id']를 반환하겠습니까 ?? – pizoelectric

답변

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

+0

Nevermind, 나는 여분의 xml 태그 하나를 놓치고 있었다 : $ simPhotoSrc [] = $ simPhotoObject -> ** ** ** ** photo_set-> square; 그것은 지금 완벽하게 작동하고 있습니다, 고마워요! – pizoelectric