Как разделить список массивов на 3 части

<?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 частей каждая.

Как я могу повторить альфа, бета и гамма.

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

Другие решения

Попробуйте использовать обычный цикл 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";
}
0

Попробуйте эту надежду, вы ожидаете этого. Согласно требованию, которое вы указали в комментариях.

Попробуйте этот фрагмент кода здесь

<?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;
}

Это сделает разделение вам нужно.

0
По вопросам рекламы [email protected]