2017-05-05 84 views
0
<?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部分。如何劃分3個部分中的陣列列表

如果陣列的計數是30。

所以想要回聲爲第一記錄10

回聲「阿爾法」;

Second 10 Records

回聲「Beta」;

3rd 10 Records

回聲「Gamma」;

如果數組大小是60那麼它將被分成20個部分。

我該如何迴應alpha,beta和gamma。

+1

你會用數組'13'做什麼?這將不能被「3」完全整除。 –

+0

如果計數是13,那麼3部分將包含4,4和其餘部分將是5 –

+0

我希望你期待這..你可以檢查我最近的帖子。 –

回答

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++; 
} 
+0

感謝它對我的作品 –

0

嘗試使用正常的循環:

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"; 
    } 
+0

我想做1循環。 –

+0

它只是一個列表,並且首先我想回顯第二個測試版的alpha,第三個部分我想回顯gamma。 –

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); 
0

讓我們的array三個要素,並與模玩:

<?php 
$count=count($admissions); 
$divide=$count/3; 
$divide=round($divide); 
$divisions = array(0 => array(), 1 => array(), 2 => array()) 
$modulo = 0; 

foreach($admissions as $key => $row) 
{ 
    $divisions[($modulo + 1) % 3][$key] = $row; 
} 

這將你需要的分區。