如何在3个部分中划分数组列表

时间:2017-05-05 18:07:34

标签: php arrays list loops divide

<?php 
$count=count($admissions);
$divide=$count/3;
$divide=round($divide);

foreach($admissions as $key => $row)
{
if(//First Part ) 
{
    echo  "Alpha";} 
else if(//2nd Part )
{ 
    echo "Beta";
}else 
{
    echo "Gamma"; 
}
} 
?>

我有一个动态数组列表,我想将它分成3个部分。

如果数组的计数是30。

所以我想回复前十条记录

echo“Alpha”;

第二个10条记录

Echo“Beta”;

第3期10条记录

Echo“Gamma”;

如果数组大小为60,那么它将分为20个部分。

我如何回应alpha,beta和gamma。

3 个答案:

答案 0 :(得分:0)

尝试使用普通for循环:

   For ($i = 0; $i < $count ; $i++){
      echo "alpha";
   }

   For ($i = $count; $i < 2*$count ; $i++){
      echo "beta";
   }

  For ($i = 2*$count; $i < 3*$count ; $i++){
      echo "gamma";
   }

答案 1 :(得分:0)

试试这个希望你期待这个。根据您在评论中指定的要求。

Try this code snippet here

<?php
ini_set('display_errors', 1);
$range=range(0,12);
$result=array_chunk($range, 4);
if(count($result[count($result)-1])!=4)
{
    $temp=$result[count($result)-1];
    unset($result[count($result)-1]);
    $result[count($result)-1]=array_merge($result[count($result)-1],$temp);
}
print_r($result);

答案 2 :(得分:0)

我的问题是关于条件。所以你可以使用这段代码:

$count=count($admissions);
$divide=$count/3;
$divide=round($divide);

$i = 1;
foreach($admissions as $key => $row)
{
    if($i > 0 && $i <= $divide) 
    {
        echo  "Alpha";
    } 
    else if($i > $divide && $i <= ($divide*2))
    { 
        echo "Beta";
    }
    else //equal else if($i > $divide*2 )
    {
        echo "Gamma"; 
    }
    $i++;
}