2016-11-05 146 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']`