访问array_chunk的每个块

时间:2013-02-05 03:42:09

标签: php arrays

我是PHP的新手,我正在研究使用array_chunk()将数组拆分为三个部分,将其显示为三列列表。假设我有一个像这样的数组

 $input_array = array('a', 'b', 'c', 'd', 'e', 'f');
 $chunks = array_chunk($input_array, 3, true));

我希望输出如下内容:

<div class="left">
 <ul>
  <li>a</li>
  <li>b</li>
 </ul>
 </div>

<div class="middle">
 <ul>
  <li>c</li>
  <li>d</li>
 </ul>
 </div>

<div class="right">
 <ul>
  <li>e</li>
  <li>f</li>
 </ul>
</div>

我在这里看到了一些really helpful examples,但没有一个显示如何将原始数组的每个块循环到html / css中所需的位置。

这是array_slice的工作吗?但是如果我的数组是动态填充的并且我不知道在给定时间它会有多大呢?

谢谢!

2 个答案:

答案 0 :(得分:5)

$div_class = array("left","middle","right"); 
$input_array = array('a', 'b', 'c', 'd', 'e', 'f');
$chunks = array_chunk($input_array, 2);

foreach($chunks as $i => $mychunk)
{
    echo "<div class=\"$div_class[$i]\">";
    echo "<ul>";

    foreach($mychunk as $newchunk) 
    {
    echo "<li>";
    echo $newchunk;
    echo "</li>";
    }

    echo "</ul>";
    echo "</div>";
}

输出 -

<div class="left">
<ul>
<li>a</li>
<li>b</li>
</ul>
</div>
<div class="middle">
<ul>
<li>c</li>
<li>d</li>
</ul>
</div>
<div class="right">
<ul>
<li>e</li>
<li>f</li>
</ul>
</div>

答案 1 :(得分:1)

您的array_chunk($input_array, 3, true))代码会返回包含三个值的块,但根据您的输出,您必须设置array_chunk($input_array, 2, true)

点击该链接,了解有关array_chunk()

的更多信息
$input_array = array('a', 'b', 'c', 'd', 'e', 'f');
$chunks = array_chunk($input_array, 2, true);

//print_r($chunks);
for( $i=0;$i<count($chunks);$i++ ){
   echo "<div>\n";
   echo "<ul>\n";
   foreach( $chunks[$i] as $k=>$v ){

     echo "<li>$v</li>\n";

   }
  echo "</ul>\n";
  echo "</div>\n\n";
 }

查看输出检查以下链接http://codepad.org/8K1luela