15,610,483 members
1.00/5 (1 vote)
See more:
I have two arrays. I am comparing those arrays through loop and calculating results but It is always making ascending order by the array indexes. I need to create order after calculation with those values in descending order.

```The output is
Student with roll number 101 scores 1
Student with roll number 102 scores 2```

```I need the output by descending order with scores.
Student with roll number 102 scores 2
Student with roll number 101 scores 1```

What I have tried:

```<?php
['name'=> 1, 'value'=> 4]'
['name'=> 1, 'value'=> 1]
];

\$submittedStudentData =[
[101, 0, 1, 1],
[102, 0, 4, 1]
];

if(!is_array(\$submittedStudentData))
{
\$submittedStudentData = json_decode(\$submittedStudentData);
}

for (\$index = 0; \$index < count(\$submittedStudentData); \$index++){

// get each student data
\$studentData = \$submittedStudentData[\$index];

// get the student roll number
\$studentId = \$studentData[0];

// initialize the total result with zero pre value
\$totalResult = 0;

// loop through the student's submitted answer
for (\$i = 2; \$i < count(\$studentData); \$i++)
{
if ((int)\$studentData[\$i] === (int)\$correctAnswers[\$i - 2]["value"])
{
\$totalResult++;
}
}

// final result for this student
echo 'Student with roll number '. \$studentId .' scores '. \$totalResult."\n";

}
?>```
Posted
Updated 6-Mar-22 22:00pm

## Solution 1

So reverse the order in your `for` loop:
PHP
`for (\$index = count(\$submittedStudentData) - 1; \$index >= 0; \$index--)`
PHP: for - Manual[^]

Member 15557213 7-Mar-22 9:45am
If the output is
Student with roll number 101 scores 1
Student with roll number 103 scores 3
Student with roll number 102 scores 2
Student with roll number 105 scores 5

I need the output like
Student with roll number 105 scores 5
Student with roll number 103 scores 3
Student with roll number 102 scores 2
Student with roll number 101 scores 1
Richard Deeming 7-Mar-22 9:46am
Then you need to sort your array before you loop over it.
PHP: Sorting Arrays - Manual[^]