2

私はPHPが初めてで、 array_chunk()を使用して配列を3つの部分に分割し、3列のリストとして表示することを検討しています。このような配列があるとしましょう

 $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>

ここでいくつかの非常に役立つ例を見てきましたが、元の配列の各チャンクを foreach ループして、html/css 内の必要な場所に配置する方法を示すものはありません。

これは array_slice の仕事ですか? しかし、配列が動的に設定されていて、特定の時間にどれだけ大きくなるかわからない場合はどうすればよいでしょうか?

ありがとう!

4

2 に答える 2

6
$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>
于 2013-02-05T04:15:52.487 に答える
1

コードarray_chunk($input_array, 3, true))は3つの値を持つチャンクを返しますが、設定する必要があると予想した出力に応じて array_chunk($input_array, 2, true)

linkをたどって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

于 2013-02-05T04:14:53.953 に答える