0

たとえば、8つのphpオブジェクトがあり、それらを繰り返し処理して、配置に応じてさまざまな情報をhtmlに出力する必要があるとします。私はcssとhtmlの構造を開発しました、そしてあなたはそれをここで見ることができます:http: //jsfiddle.net/v3qcc/9/ 私はそれらを動的に配置するロジックの助けが必要です。

2つおきのオブジェクトを取得して、このラッパーに配置する必要があります。

<div class="col">
    <div class="third">
        <div class="col-content">         
          **...Object One Here**
        </div>
    </div>

    <div class="fourth">
        <div class="col-content">         
          **...Object Two Here**
        </div>
    </div>
</div>

<div class="col">
    <div class="third">
        <div class="col-content">         
          **...Object Three Here**
        </div>
    </div>

    <div class="fourth">
        <div class="col-content">         
          **...Object Four Here**
        </div>
    </div>
</div>
4

3 に答える 3

1
// heres a class
class thing {
public $ybob = 23;
}

// create an array of 8 of them
$i = 0;
$a= array();
while(8> $i){
$a[$i] = new thing;
$i++;
}
//var_dump($a);

// loop thru the array of objects
$rows = 1;
foreach($a as $ob){

// use modulus operator to work out if a row is odd or even
echo ( ($rows % 2)  === 1 ) ?  '<br />NEW ROW' : '' ;
echo $ob->ybob . ' - ' ;  // output the objects data in any case
$rows++;
}

4 行上の三項演算子では、追加の行タグを追加するか、さらに多くの行のマークアップを使用する場合は if/else を元に戻すことができます。

与えます:

NEW ROW 23 - 23 - 
NEW ROW 23 - 23 - 
NEW ROW 23 - 23 - 
NEW ROW 23 - 23 -
于 2013-02-12T16:42:54.297 に答える
1

これを試して :

<?php

echo '<div class="col">';

for ($i=0; $i<$max_elements; $i++)
{
    $class = ($i&1) ? "third" : "fourth";

    echo '<div class="'.$class.'">
              <div class="col-content">         
               **...Object num : '.$i.' Here**
              </div>
         </div>';
}

echo '</div>';
于 2013-02-12T17:05:21.457 に答える
0

個人的には、ループ内で毎回インクリメントされるインジケーターをテストし、それが偶数か奇数かをテストし、これに従ってテンプレートのニーズを表示します。

于 2013-02-12T16:31:03.153 に答える