<?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.
Итак, я хочу повторить первые 10 записей
эхо «Альфа»;
Вторые 10 записей
Эхо «Бета»;
3-я запись 10
Эхо «Гамма»;
если размер массива равен 60, то он будет разделен на 20 частей каждая.
Как я могу повторить альфа, бета и гамма.
Я думаю, что ваш вопрос об условиях. Таким образом, вы можете использовать этот код:
$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++;
}
Попробуйте использовать обычный цикл 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";
}
Попробуйте эту надежду, вы ожидаете этого. Согласно требованию, которое вы указали в комментариях.
Попробуйте этот фрагмент кода здесь
<?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);
Давай 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;
}
Это сделает разделение вам нужно.