echo php foreach循环结果由3个不同的行数据组成

时间:2017-01-02 07:27:03

标签: php loops foreach

我有一个foreach循环,我的代码看起来是:

Complete Record:
Age,LastName,FirstName
50,B,A
30,A,B
20,X,D
10,F,A
90,V,E
60,N,M

结果如下:

标题

对齐媒体一个对齐媒体一个对齐媒体一个中间对齐媒体
中间对齐媒体
中间媒体媒体
媒体媒体

标题

统一媒体一个统一媒体一个媒体一,中间媒体中,中间媒体,媒体媒体,媒体,媒体和媒体/ p>对齐媒体一个对齐媒体一个对齐媒体一个中间媒体
中间媒体
中间媒体
媒体
媒体
媒体

但我想要这样的事情:

标题

对齐媒体一个对齐媒体一个对齐媒体一个

标题

中间对齐媒体
中间媒体
中间媒体

标题

媒体媒体
媒体

4 个答案:

答案 0 :(得分:2)

使用count变量并在for循环中增加它。当计数舍入为3时,打印所需的文本:

$count = 0;

foreach ($testimonial as $data){
    if(!($count++ % 3))
        echo '<p>Title</p>';
    echo $data->testimonial_title.'<br>';
}

答案 1 :(得分:0)

只需按下那样的for循环:

$count =  count($testimonial)/3;

foreach ($testimonial as $data) {

   echo '<p>Title</p>';

   for ($i = 1;$i <= $count;$i++){ 
      echo $data->testimonial_title.'<br>';
   }

}

答案 2 :(得分:0)

您可以修改它,设置上一个标题并与下面的当前标题进行比较

$prev_title ='';  
foreach ($testimonial as $data){
   if($prev_title!=$data->testimonial_title)
   {
       echo 'Title<br/>';
   }
   echo $data->testimonial_title.'<br>';
   // setting current title to previous so that we can check it against next row
   $prev_title =$data->testimonial_title;
}

这适用于任意数量的行

答案 3 :(得分:0)

  class Employee extends Model{

         protected $fillable=[
                              'userId',
                              'company_id',
                              'empNo1',
                              'empNo2',
                              'user_level',       
                              'designation',        
                              'first_name',
                              'last_name',
                              'email',
                              'password',
                              'telephone',
                              'mobile',
                              'join_date',
                              'dob',
                              'status'
                           ];


     }