I have a sorted array in descending order such as with values 100 , 98, 96, 90 ....
and I am using foreach() loop to iterate over the array and use if condition with limit 3 such as `
foreach($array as $arr){
if(loop_counter<3)
{
echo 'something';
}}
to get top 3 positions. but the problem is that if there exist two same values such as 100 , 98, 98, 96, 90 . . then limits should increase from 3 to 4 so that on position 2 there exist two values 98, 98 and position 3 contain value 90 instead of 2nd 98 remember that I need both duplicate number on one position such as two students with same marks stands against one position.
thanks in advance
Advertisement
Answer
Check the solution for this:
$array = [100, 98, 96, 96, 95];
$count = 0;
$length = count($array);
foreach($array as $key => $arr){
if($count<3)
{
echo $arr . ", ";
if(($length != $key + 1) && $array[$key] != $array[$key + 1])
{
$count++;
}
}
}