2016-11-05 179 views
0

我有下面的代碼工作正常,直到我添加了一個if語句來限制循環只在數組中的某些項上運行。我現在只是得到一個空白頁面,表明我的代碼中有一處出現錯誤,因爲添加了if聲明,但我無法弄清楚在哪裏。我真的很感謝在解決這個問題上的任何幫助,以及關於我如何解決自己的問題(我還不熟悉PHP,不確定如何有效地調試這類問題)。我的if語句有什麼問題?

Nb。下面的代碼片段中沒有顯示<?php標籤。

foreach ($portfolioProjects as $portfolio) { 
if ($portfolio['featureContent'] == "Yes") { 
    ?> 
    <div class="row featurette"> 
     <?php 
     //for each odd number, change the layout so it looks nice :) 
     if ($loopCount % 2 == 0) { 
      echo '<div class="col-md-7">'; 
     } else { 
      echo '<div class="col-md-7 col-md-push-5">'; 
     } 
     ?> 
     <h2 class="featurette-heading"><?php echo $portfolio[title]; ?> <span class="text-muted"><?php echo $portfolio[languages]; ?></span> 
      <?php 
      //Check array for newTag which will be added to show a tag to the user 
      if ($portfolio[newTag] == "Yes") { 
       echo '<span class="label label-success test pull-right"> New!</span>'; 
      } 
      ?></h2> 
     <p class="lead"><?php echo $portfolio[blurb]; ?></p> 
    </div><!--end of column1--> 
    <?php 
    if ($loopCount % 2 == 0) { 
     echo '<div class="col-md-5">'; 
    } else { 
     echo '<div class="col-md-5 col-md-pull-7">'; 
    } 
    ?> 
    <img class="featurette-image img-responsive center-block" data-src="holder.js/200x200/auto" alt="200x200" src="assetts/200x200.gif" data-holder-rendered="true"> 
    </div> 
    </div> 
    <?php 
    //if statement to stop divider being added if last item in array 
    $loopCount = $loopCount + 1; 
    if ($loopCount != $itemsCount) { 
     echo '<hr class="featurette-divider">'; 
    } 
} 

} ?>

回答

1

找出是什麼問題,檢查你的web服務器的日誌文件,或者在php.ini文件中開啓error_reportingdisplay_errors最簡單的方法。

newTagblurb常量或鍵在$portfolio數組?如果它們是鍵,則應該使用撇號。

if ($portfolio['newTag'] == "Yes") { 

<p class="lead"><?php echo $portfolio['blurb']; ?></p> 
0

你忘了用引號括陣列鍵

`$portfolio['title'] 
$portfolio['languages'] 
$portfolio['newTag'] 
$portfolio['blurb']`