How can you shuffle an array in PHP while maintaining the original key-value pairings?

When shuffling an array in PHP using the `shuffle()` function, the original key-value pairings are lost as the function reorders the elements randomly. To maintain the original key-value pairings while shuffling the array, you can use the `array_rand()` function to get random keys, create a new array with these keys, and then shuffle this new array.

// Original array
$originalArray = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4);

// Get random keys
$keys = array_keys($originalArray);
shuffle($keys);

// Create new array with shuffled values
$shuffledArray = array();
foreach($keys as $key) {
    $shuffledArray[$key] = $originalArray[$key];
}

// Output shuffled array with original key-value pairings
print_r($shuffledArray);