【问题标题】:displaying one div after all first div in php foreach在 php foreach 中的所有第一个 div 之后显示一个 div
【发布时间】:2016-01-25 04:46:07
【问题描述】:

我有两个 div,例如 div1 和 div2。两个 div 都在同一个循环中,但内容不同。我想在 foreach 循环中显示 div1 的所有元素,然后显示 div2 的所有元素。现在它显示 div1 内容,然后显示 div2 内容。我想先显示 div1 的所有内容,然后显示 div2 的所有内容。如何在 php 循环中做到这一点?

<?php foreach($array as $val){ ?>
<div id="div1">test</div>
<div id="div2">code</div>
<?php } ?>

如果数组包含三个元素:-

//当前输出:- test code test code test code

//预期输出:- test test test code code code

【问题讨论】:

  • 您介意发布您当前的代码吗?

标签: php arrays foreach


【解决方案1】:

运行两个循环,第一个循环用于 div1,第二个循环用于 div2,这样您将得到这个

我想先显示div1的所有内容,再显示div2的所有内容

好的,所以你仍然只想运行 1 个循环:你可以从变量中获得一些帮助

$div1=$div2="";
foreach($array as $val){
  $div1.="<div id=\"div1\">$val</div>";   // store in a temporary variable
  $div2.="<div id=\"div2\">$val</div>";
}
echo $div1;        //print 1
echo $div2;        //print 2

但是在 HTML 中,你不能真正拥有多个具有相同 id 的元素

【讨论】:

  • 我知道我们可以运行两个循环,但我只想在一个循环中执行此操作。
  • 没有看到你的代码没有人能解决这个问题:)
  • 请提供真实代码,该示例无法演示真正需要的内容
【解决方案2】:

就这样吧..

<?php 
    $div1_content = '';
    $div2_content = '';
    foreach($array as $val){ 
        $div1_content .= '<div id="div1">test</div>';
        $div2_content .= '<div id="div2">test</div>';
    } 
    echo $div1_content;
    echo $div2_content;
?>

【讨论】:

  • 感谢您的回复,我认为这将解决我的问题。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 2014-01-04
  • 2015-10-08
  • 1970-01-01
  • 2016-10-13
相关资源
最近更新 更多