How can the PHP code be optimized to ensure that the ID column remains consistent even after sorting the table based on another column?

When sorting a table based on a column other than the ID column, the ID column can become inconsistent if not properly handled. To ensure the ID column remains consistent, you can store the original IDs in a separate array, sort the table based on the desired column, and then use the original IDs to reorder the table back to its original state.

// Sample PHP code to ensure the ID column remains consistent after sorting based on another column

// Sample data with IDs and values
$data = array(
    array('id' => 1, 'value' => 'A'),
    array('id' => 2, 'value' => 'C'),
    array('id' => 3, 'value' => 'B')
);

// Store the original IDs in a separate array
$original_ids = array_column($data, 'id');

// Sort the table based on the 'value' column
usort($data, function($a, $b) {
    return $a['value'] <=> $b['value'];
});

// Reorder the table based on the original IDs
$sorted_data = array();
foreach($original_ids as $id) {
    foreach($data as $row) {
        if($row['id'] == $id) {
            $sorted_data[] = $row;
            break;
        }
    }
}

// Display the sorted data with consistent IDs
foreach($sorted_data as $row) {
    echo 'ID: ' . $row['id'] . ', Value: ' . $row['value'] . PHP_EOL;
}