Php 如何用foreach循环填充占位符框?

Php 如何用foreach循环填充占位符框?,php,foreach,Php,Foreach,使用PHP(如果需要,可以使用jquery): 我这一页有30个盒子。它永远不会更多,也不会更少 在这30个框中,其中一些框将填充“特定于框的”数据 我怎么能说: 如果foreach to loop trought上有20条记录,那么,20个框将包含数据,其余将保留占位符。 如果foreach上有10条记录,那么PlaceHolds将保留20个盒子 这样的事情怎么可能实现呢? 有谁能给我一个这样做的好例子吗 非常感谢, MEM用你拥有的数据位填充一个数组,添加30个占位符,取数组的前30个元素,

使用PHP(如果需要,可以使用jquery):

我这一页有30个盒子。它永远不会更多,也不会更少

在这30个框中,其中一些框将填充“特定于框的”数据

我怎么能说:

如果foreach to loop trought上有20条记录,那么,20个框将包含数据,其余将保留占位符。 如果foreach上有10条记录,那么PlaceHolds将保留20个盒子

这样的事情怎么可能实现呢? 有谁能给我一个这样做的好例子吗

非常感谢,
MEM

用你拥有的数据位填充一个数组,添加30个占位符,取数组的前30个元素,然后迭代这些元素。

用你拥有的数据位填充一个数组,添加30个占位符,取数组的前30个元素,然后迭代这些元素。

每个框都有名称吗?假设在你的10或20条记录中有一些名称/id,我假设它们在一个数组中

function OutputBoxes($records, $boxes){
      foreach($boxes as $box){
              $box->PopulateWithPlaceHolder();
      }

      foreach($records as $record){
              $box = GetMatchingBox($record);
              $box->SetValue($record['valueProperty']);
      }

      foreach($boxes as $box){
              echo $box->ElementHtml();
      }

}

这里假设您有某种类型的box对象,它知道如何将自身输出为HTML,并设置您希望从记录中得到的任何值。

每个box都有名称吗?假设在你的10或20条记录中有一些名称/id,我假设它们在一个数组中

function OutputBoxes($records, $boxes){
      foreach($boxes as $box){
              $box->PopulateWithPlaceHolder();
      }

      foreach($records as $record){
              $box = GetMatchingBox($record);
              $box->SetValue($record['valueProperty']);
      }

      foreach($boxes as $box){
              echo $box->ElementHtml();
      }

}

这里假设您有某种类型的box对象,它知道如何将自身输出为HTML,并设置您希望从记录中获得的任何值。

使用所有数据创建一个数组。然后运行for循环(0..30)来构建方框。对于循环中的每个项目,如果长方体数据数组包含元素,则输出特定数据,否则输出占位符数据。像这样的

<?php
  $box_data = array(
     "data for box 1", 
     "data for box 2", 
     "data for box 3"
  );
  for( $i=0; $i<30; ++$i ) {
     if( $i >= count($box_data) ) {
        // output "placeholder box"
        echo "<div class=\"box placeholder\">Placeholder Box</div>";
     } else {
        // output the box's specific data
        echo "<div class=\"box non-placeholder\">{$box_data[$i]}</div>";
     }
  }

用所有数据制作一个数组。然后运行for循环(0..30)来构建方框。对于循环中的每个项目,如果长方体数据数组包含元素,则输出特定数据,否则输出占位符数据。像这样的

<?php
  $box_data = array(
     "data for box 1", 
     "data for box 2", 
     "data for box 3"
  );
  for( $i=0; $i<30; ++$i ) {
     if( $i >= count($box_data) ) {
        // output "placeholder box"
        echo "<div class=\"box placeholder\">Placeholder Box</div>";
     } else {
        // output the box's specific data
        echo "<div class=\"box non-placeholder\">{$box_data[$i]}</div>";
     }
  }

假设
$data
是数据的数字键控数组:

<?php for($i = 0; $i < 30; $i++): ?>

  <?php if(isset($data[$i]): ?>
    <!-- the html for a box WITH data -->
  <?php else: ?>
    <!-- html for an empty placeholder box -->
  <?php endif; ?>

<?php endfor;?>


假设
$data
是数据的数字键控数组:

<?php for($i = 0; $i < 30; $i++): ?>

  <?php if(isset($data[$i]): ?>
    <!-- the html for a box WITH data -->
  <?php else: ?>
    <!-- html for an empty placeholder box -->
  <?php endif; ?>

<?php endfor;?>


谢谢大家。:)我会看看你们的解决方案,看看什么最适合这里。K.你好。再次感谢大家。在这个案例中,我发现prodigitalson是一个不错的sintax,因为如果在结束几行html之后,我们会问自己:这是什么?我不知道这种方法。再次感谢大家。我会把所有答案都标为有用。谢谢大家。:)我会看看你们的解决方案,看看什么最适合这里。K.你好。再次感谢大家。在这个案例中,我发现prodigitalson是一个不错的sintax,因为如果在结束几行html之后,我们会问自己:这是什么?我不知道这种方法。再次感谢大家。我会把所有答案都标为有用。