Are there any best practices for shuffling arrays in PHP without losing the original associations?

When shuffling arrays in PHP using the `shuffle()` function, the original keys of the array are lost and the elements are re-indexed. To shuffle an array without losing the original associations, you can use the `array_multisort()` function with a random sorting order.

$array = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

// Get the keys and values of the array
$keys = array_keys($array);
$values = array_values($array);

// Shuffle the values using array_multisort with a random order
array_multisort(array_map('rand', array_fill(0, count($values), 0), $values), $values);

// Combine the shuffled values with the original keys
$shuffledArray = array_combine($keys, $values);

print_r($shuffledArray);