2014-11-18 3 views
-1

2 개의 이미지가 포함 된 배열을 만들었으므로이 이미지를 무작위로 표시하고 싶습니다. (따라서 다른 쇼 등을 새로 고칠 때 보여줍니다) 코드 i를 다시 사용했습니다. 오래 전에 사용했는데 작동하지 않는 것 같아서 누군가 제가 잘못 가고있는 곳에서 나를 도울 수 있습니다. ';'구문 오류, 예기치 않은 :임의의 이미지를 배열로 출력

<?php 
$images = array(
      '<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/man_feedback.png" alt="linkedsitename" /></a>', 
      '<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/woman_feedback.png" alt="linkedsitename" /></a>' 
     ); 

    shuffle($images); // Randomize images array; 
    ?> 

<?php echo "<img class="succes_img" src='$images[]'";?> 

는 나는 내가 이미지를 제외한 모든 나는이 오류 메시지가 계속 시도를 유타 에코하려고

구문 분석 오류입니다 어떻게 생각 에코가

가 사전에 감사입니다 라인 /home/domain/public_html/app/design/frontend/base/default/template/checkout/success.phtml 42

라인 (42)은

+0

"echo 문에서"이스케이프해야합니다. \ "succes_img \" – user3593520

답변

1

먼저 배열 값에 html 마크 업이 포함되어 있으므로 반향하는 값은 img 태그 내부의 모든 html 마크 업이됩니다. 둘째로 $ images 배열 주위에 작은 따옴표를 사용하여 PHP가 배열의 값 대신 $ images []를 출력하도록 알려줍니다. 세 번째로 배열을 에코 할 때 인덱스 값을 제공하지 않습니다. 다음 코드는 배열 내부의 HTML 마크 업에서 탈퇴하고자하는 가정 작동합니다 : 여기

<?php echo $images[0];?> 
2

을 당신은 단지 그것을 무작위로 할 수없는 방법을,하지만 당신은 동적이 자동으로 선택하는 경우 조정 있도록 할 수 있습니다 배열에 더 많은 이미지를 추가 할 수 있습니다.

$i = mt_rand(0, count($images)); 

src=$images[$i] 

이렇게하면 배열을 임의로 재생할 필요가 없습니다. 또한 html의 나머지가 아니라 배열에 img url이 필요합니다.

0
<?php 
$images = array(
      '<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/man_feedback.png" alt="linkedsitename" /></a>', 
      '<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/woman_feedback.png" alt="linkedsitename" /></a>' 
     ); 

    ?> 

<?php 
echo $images[shuffle($images)]; 
?> 

작은 따옴표로 인해 문자열이 문자열로 평가되고 변수 값은 사용되지 않습니다. 특수 문자 주위에 작은 따옴표를 사용하면 이스케이프하지 않아도됩니다.

1
<?php 
$images = array(
      '<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/man_feedback.png" alt="linkedsitename" /></a>', 
      '<a href="http://www.linkedsite.com/" target="_blank"><img class="succes_img" src="/skin/frontend/theme/default/images/woman_feedback.png" alt="linkedsitename" /></a>' 
     ); 

    shuffle($images); // Randomize images array; 
    ?> 

<?php 
echo $images[0]; 
?> 

보십시오.

관련 문제