【问题标题】:Assistance with Logic for nested loop in php协助 php 中嵌套循环的逻辑
【发布时间】:2013-02-12 16:09:21
【问题描述】:

假设我有 8 个 php 对象,我需要遍历它们并根据它们的位置不同地将各种信息输出到 html 中。我已经为 css 和 html 开发了结构,你可以在这里看到它:http://jsfiddle.net/v3qcc/9/ 我只需要动态放置它们的逻辑方面的帮助。

我需要取出每两个对象并将它们放在这个包装器中:

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

【问题讨论】:

  • 如果有人可以帮助我编写伪代码,我愿意尝试编写代码。我熟悉循环和 php,但我无法理解如何做到这一点

标签: php loops nested logic nested-loops


【解决方案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 -

【讨论】:

    【解决方案2】:

    试试这个:

    <?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>';
    

    【讨论】:

      【解决方案3】:

      就我个人而言,我会在循环中测试每次递增的指标,如果它是偶数或奇数,并根据此显示模板需要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多