What are the advantages of using a two-dimensional array over a one-dimensional array in PHP, especially when sorting by specific values?

When sorting by specific values, using a two-dimensional array in PHP allows for more flexibility and organization compared to a one-dimensional array. This is because a two-dimensional array can store data in rows and columns, making it easier to access and manipulate specific elements based on different criteria. For example, if you have a dataset of students with their names and test scores, using a two-dimensional array can help you easily sort the students by their scores without losing the association with their names.

// Example of using a two-dimensional array to sort students by test scores
$students = array(
    array("name" => "Alice", "score" => 85),
    array("name" => "Bob", "score" => 92),
    array("name" => "Charlie", "score" => 78),
);

// Sort students by test scores in descending order
usort($students, function($a, $b) {
    return $b['score'] - $a['score'];
});

// Display sorted students
foreach ($students as $student) {
    echo $student['name'] . ": " . $student['score'] . "<br>";
}