2011-04-19 4 views
0

각 항목에 대해 슬라이드 쇼를 만들고 싶습니다.Foreach 루프의 PHP 배열이 다릅니 까?

첫 번째 코드와 만 작동하며 다른 코드는 작동하지 않습니다.

내가 뭘 잘못하고 있는지 아는 사람이 있습니까? ??

내 코드 :

<?php 
      // check $items variable exists and is not empty 
      if(isset($items) && !empty($items)) : 
       // init item count 
       $count = 1; 
      ?> 
      <div class="shelf"> 

       <?php foreach($items as $key=>$item): ?> 
        <?php 
        // calculate if this item is the last on the shelf 
        // if item number can be divided by 5 with no remainders 
        $last_item = ((($count) % 5 == 0)? 'item-last' : ''); 
        ?> 

        <div class="item <?php echo $last_item; ?>"> 
         <a href="/items/view/<?php echo $item['Item']['slug']; ?>"> 
         <p><?php echo $item['Item']['name'] ?></p> 




        <div id="CustomSlideshow"> 


<?php 
if ($item['Item']['vidsite'] = 'Pornhub') { 

for($i=1;$i<=16;$i++) { 
    $array[] = str_replace('.jpg',sprintf("%01d",$i).'.jpg',$item['Item']['vidimgdir']); 
} ?> 
<img src="<?php echo($array[0]); ?>"/> 
<img src="<?php echo($array[1]); ?>"/> 
<img src="<?php echo($array[2]); ?>"/> 
<img src="<?php echo($array[3]); ?>"/> 
<img src="<?php echo($array[4]); ?>"/> 
<img src="<?php echo($array[5]); ?>"/> 
<img src="<?php echo($array[6]); ?>"/> 
<img src="<?php echo($array[7]); ?>"/> 
<img src="<?php echo($array[8]); ?>"/> 
<img src="<?php echo($array[9]); ?>"/> 
<img src="<?php echo($array[10]); ?>"/> 
<img src="<?php echo($array[11]); ?>"/> 
<img src="<?php echo($array[12]); ?>"/> 
<img src="<?php echo($array[13]); ?>"/> 
<img src="<?php echo($array[14]); ?>"/> 
<img src="<?php echo($array[15]); ?>"/> 
<?php 
$array=array(); 
} ?> 


</div>      

         </a> 
        </div> 

        <?php 
        // if this is the last item, close the shelf div and create a new one 
        if(!empty($last_item)) { 
         echo '<div class="clear"></div>'; 
         echo '</div>'; 
         echo '<div class="shelf">'; 
        } 
        ?> 
       <?php $count++; ?> 
       <?php endforeach; ?> 

답변

1
if ($item['Item']['vidsite'] = 'Pornhub') { 

내 생각 엔 그렇게 코드가 $item['Item']['vidsite']에 같은 값을 할당 계속, 당신은 하나의 등호를 잊어 버린 것입니다.
하나의 등호 기호 (=)가 항목에 값을 할당하므로 피연산자를 비교하는 두 개 (==)이므로 ===으로 대체해야합니다.
아마도 당신은 이미 이것을 알고 그것을 잘못 입력했을 것입니다. 걱정하지 마라, 나는 또한이 실수를하는 데 사용했다. 이 하나

for($i=1;$i<=16;$i++) { 
    $array[] = str_replace('.jpg',sprintf("%01d",$i).'.jpg',$item['Item']['vidimgdir']); 
} ?> 
<img src="<?php echo($array[0]); ?>"/> 
<img src="<?php echo($array[1]); ?>"/> 
<img src="<?php echo($array[2]); ?>"/> 
<img src="<?php echo($array[3]); ?>"/> 
<img src="<?php echo($array[4]); ?>"/> 
<img src="<?php echo($array[5]); ?>"/> 
<img src="<?php echo($array[6]); ?>"/> 
<img src="<?php echo($array[7]); ?>"/> 
<img src="<?php echo($array[8]); ?>"/> 
<img src="<?php echo($array[9]); ?>"/> 
<img src="<?php echo($array[10]); ?>"/> 
<img src="<?php echo($array[11]); ?>"/> 
<img src="<?php echo($array[12]); ?>"/> 
<img src="<?php echo($array[13]); ?>"/> 
<img src="<?php echo($array[14]); ?>"/> 
<img src="<?php echo($array[15]); ?>"/> 

: -)


그리고 그런데

내가 당신이라면, 나는 다음과 같은 코드를 대체 것 훨씬 짧은

for($i=0;$i<=15;$i++) { 
    $array[] = str_replace('.jpg',sprintf("%01d",$i).'.jpg',$item['Item']['vidimgdir']); 
    echo '<img src="'.$array[$i].'"/>'; 
} ?> 

합니다.

+0

고마워요, 지금 작동 중입니다 .. – grosseskino

관련 문제