Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将foreach循环';谁的产量?_Php_Html_Twitter Bootstrap_Foreach - Fatal编程技术网

Php 如何将foreach循环';谁的产量?

Php 如何将foreach循环';谁的产量?,php,html,twitter-bootstrap,foreach,Php,Html,Twitter Bootstrap,Foreach,我正在使用Bootstrap的网格,我正在迭代一个名称数组。问题是我不知道如何在每个父div中放置X个数量的结果 $names=mysql结果,包含9个名称 <div class="container"> <div class="row"> <?php foreach ($names as $name){ echo ' <div class="col-xs-3 col-sm-3"> <p&g

我正在使用Bootstrap的网格,我正在迭代一个名称数组。问题是我不知道如何在每个父div中放置X个数量的结果

$names=mysql结果,包含9个名称

<div class="container">
  <div class="row">
    <?php
    foreach ($names as $name){
     echo '
      <div class="col-xs-3 col-sm-3">
        <p>Customer name:'.$name.'</p>
      </div>';  
     }  
   </div>
</div>

在循环中使用基于变量值的条件的显式变量。例如:

$i = 0;

foreach ($names as $name)
{
    if($i == 0)
    {
        echo '<div class="row">';
    }

    echo
    '<div class="col-xs-3 col-sm-3">
        <p>Customer name:'.$name.'</p>
    </div>';
    $i++;

    if($i == 2)
    {
        echo '</div>';
        $i = 0;
    }
}
$i=0;
foreach($name作为$name)
{
如果($i==0)
{
回声';
}
回声
'
客户名称:'.$name'

'; $i++; 如果($i==2) { 回声'; $i=0; } }
您可能需要考虑一种可以解决名称数量不均问题的方法:

$names  =   array('Dave','Frank','Sarah','Dan','Andrew','Jessica','Alena','Debbie','Jeff');
$split  =   array_chunk($names,3);
?>
<div class="container">
<?php
    foreach ($split as $group){
        echo '
    <div class="row">';
        foreach ($group as $name){
            echo '
        <div class="col-xs-3 col-sm-3">
            <p>Customer name:'.$name.'</p>
        </div>';
        }
        echo '
    </div>';
    } 
?>
</div>
$names=array('Dave','Frank','Sarah','Dan','Andrew','Jessica','Alena','Debbie','Jeff');
$split=array\u chunk($names,3);
?>

您可以尝试删除
并让它们堆叠起来。如果您确保设置所有选项,比如
,那么它们应该相应地堆叠。除非有单独的需要将它们分成精确的行。这也是头脑中的一个快速思维。。没有经过测试,可能也不是所需要的

还有,也有这一点

if (($counter + 1) % 3 == 0) {
  //do code here
}


我以前使用过模和自动增量解决方案,两者都很好,但我个人使用
array\u chunk()
,因为我发现这很简单。可以说,谢谢你的信任投票!干杯。我喜欢,很好的解决方案。我在随后的一个问题中看到你用我的答案作为例子,如果你觉得你的问题得到了回答,请随意标记。我很抱歉,我忘了这么做。
$names  =   array('Dave','Frank','Sarah','Dan','Andrew','Jessica','Alena','Debbie','Jeff');
$split  =   array_chunk($names,3);
?>
<div class="container">
<?php
    foreach ($split as $group){
        echo '
    <div class="row">';
        foreach ($group as $name){
            echo '
        <div class="col-xs-3 col-sm-3">
            <p>Customer name:'.$name.'</p>
        </div>';
        }
        echo '
    </div>';
    } 
?>
</div>
if (($counter + 1) % 3 == 0) {
  //do code here
}
if ($counter % 3 == 0) {
      //do code 
    }
$counter++;