Php 如何在foreach循环期间构建HTML以包含输出

Php 如何在foreach循环期间构建HTML以包含输出,php,wordpress,loops,foreach,Php,Wordpress,Loops,Foreach,我有一个foreach循环,我需要修改它,在计数为10后,它关闭它循环的html结构,并打开一个新结构,以便再添加10个计数,以此类推,直到数组中没有更多的元素 <?php // open the ul $location_lists .= '<ul'; // get the array $locations = get_posts(array( 'post_type' => 'location', 'showposts' => -1 )); foreach ($lo

我有一个foreach循环,我需要修改它,在计数为10后,它关闭它循环的html结构,并打开一个新结构,以便再添加10个计数,以此类推,直到数组中没有更多的元素

<?php
// open the ul
$location_lists .= '<ul';

// get the array
$locations = get_posts(array(
'post_type' => 'location',
'showposts' => -1
));

foreach ($locations as $location) {
  $address = some code here;      
  $location_lists .= '<li>';
  $location_lists .= '<span>'. ($address) .'</span>';
  $location_lists .= '</li>';
};

// after 10 loops close the ul
$location_lists .= '</ul>';

// open a new ul to hold 10 more li's etc...
$location_lists .= '<ul';
?>
$location\u list='';
$locations=get_posts(数组(
“post_type”=>“location”,
'showposts'=>-1
));
$i=0;
foreach($locations作为$location){
如果($i==0){$location_list.='
    ';} $address=此处的一些代码; $location_list.='
  • '; $location_list.=''($address)。''; $location_list.='
  • '; $i++; 如果($i==10){$location_列表。='
';$i=0} }; 如果($i!=0){$location_list.='';}
$location\u list.='
    '; $i=0; foreach($locations作为$location){ $i++; $address=此处的一些代码; $location_list.='
  • '; $location_list.=''($address)。''; $location_list.='
  • '; 如果($i%10)==0){ $location_list.='
    '; } }; $location_list.='
';
在6个类别的92个可用元素中,此代码仅输出阵列中19个元素的最后一个类别。一个UL包含10个元素,第二个包含9个元素。该代码完全符合我在问题中的要求。非常简洁,刚刚发现一个问题。如果数组中正好有十个元素,这个脚本将创建一个额外的空ul
    $location_lists='';
$locations = get_posts(array(
'post_type' => 'location',
'showposts' => -1
));
$i=0;
foreach ($locations as $location) {
  if($i==0){$location_lists .= '<ul>';}
  $address = some code here;      
  $location_lists .= '<li>';
  $location_lists .= '<span>'. ($address) .'</span>';
  $location_lists .= '</li>';
  $i++;
 if($i==10){$location_lists .= '</ul>';$i=0}
};
if($i!=0){$location_lists .= '</ul>';}
$location_lists .= '<ul>';
$i=0;
foreach ($locations as $location) {
  $i++;
  $address = some code here;    
  $location_lists .= '<li>';
  $location_lists .= '<span>'. ($address) .'</span>';
  $location_lists .= '</li>';

  if (($i % 10) == 0) {
       $location_lists .= '</ul><ul>';
  }
};
$location_lists .= '</ul>';