2013-05-30 2 views
0

나는 soem 도움 수정이 필요한 일하는 PHP 스크립트를 가지고있다. 그렇지 않으면 내가 오류가if 문을 for 루프에 추가하는 방법은 무엇입니까?

<? $images = $product->images; 
for ($i = 4; $i <= 8; $i++): ?> 
<li> 
<a href='<?= $images[$i]->getThumbnailPath(0,0) ?>' class="swatch_lbox_gallery" rel="gal"> 
<img src="<?= $images[$i]->getThumbnailPath(138, 0) ?>"/> 
</a> 
<p><?= $images[$i]->title ?><br/> 
<?= $images[$i]->description ?></p> 
</li> 
<? endfor; ?> 

는 4+ 이미지가 작업을 수행 :

여기 내 스크립트입니다. 나는 네 번째 이미지가 없으면 숨기도록 if 문을 추가하려고 시도했지만 작동시키지 못한다. 도움을 주시면 대단히 감사하겠습니다. 자세한 내용을 추가해야하는지 알려주세요.

추가 세부 사항 - 나는 4-8

감사합니다 이미지를 필요로하기 때문에 나는 4에서 시작 해요!

스테파니

+0

어떤 오류가 발생하고 있습니까? 그리고 초기화하는 이유는 무엇입니까? 루프에서 $ i = 4의 값은? –

+0

당신은'$ i = 0; $ i <= 8; $ i ++'$ i = 4'로 시작하는 이유 – sAnS

+0

Barmar의 대답에 관해서 네 폴더에 4 개의 이미지 만 있다면,'$ i = 4; '가 기술적으로 작동하지 않을 것이다. 단 4 개의 이미지로 테스트 해 보았습니까? 논리적으로 '4'는 실제로 '5'를 의미합니다. ;-) –

답변

2
if (count($images) >= 4) for ($i = 4; $i <= 8; $i++): 
1

이 시도 : 숫자 배열 인덱스는 0부터 시작하기 때문에

<? 
    $images = $product->images; 
    $startOnImage = 4; 
    $endOnImage = 8; 

    foreach($images as $key => $image) 
    { 
     if($key<$startOnImage){ continue; } 
     if($key>$endOnImage){ break; } 

     echo '<li>'; 
     echo '<a href="' . $image->getThumbnailPath(0,0) . '" class="swatch_lbox_gallery" rel="gal">'; 
     echo '<img src="' . $image->getThumbnailPath(138, 0) . '"/>'; 
     echo '</a>'; 

     echo '<p>' . $image->title . '<br/>'; 
     echo $image->description . '</p>'; 
     echo '</li>'; 

    } 
+1

더 나은 편집 :)! +1 Infact -'$ image [$ key]'를 변경하십시오. 단지'$ image-> title' 또는'$ images [$ key] ' – Farkie

+0

@Farkie +1, 그것을 지적 해 주셔서 감사합니다! 내 부분에 오류가있어서 그것을 봤어야 했어! –

+0

모든 이미지가 표시됩니다. # 4에서 시작하고 싶은 것 같습니다. – Barmar

0
for ($i = 4; $i <= min(8, count($images)-1); $i++) : 

-1이 필요하지 1. 그래서 $images[4]count($images) 적어도 5 있어야합니다.

+0

안녕하세요. 모든 도움에 감사드립니다. 기술적으로 Gamag와 Phil Cross의 제안이 모두 작동하므로 모두 정확합니다. 나는 Gamag 's를 사용하여 시작할 것이고, 클라이언트가 승인 할 때까지 "정확한"대답을 선택하지 않을 것이다. 나는 당신을 위해 일하기를 바랍니다. 정말 고마워요 !! – StephanieF

+0

@Stephanie'Barmar'는 숫자 배열 색인에 포인트가 있습니다. Gawd, 나는 잊었다. '나이'가 무엇을하는지 보시오. TIP : 오래된 것을 얻지 마십시오. –

관련 문제