連想配列のkey（Keyの順番は固定）とvalueの組み合わせをシャッフル方法


連想配列のkey(Keyの順番は固定)とvalueの組み合わせをシャッフルする方法はありませんか？  
`array_rand()`を使ったのですが、何も変わらず  
`shuffle`を使うと数字の配列になってしまいます。  
どうすれば良いかわかりません。

[code]

    array (
      'Philippines' => 'banana',
      'Japan' => 'rice',
      'France' => 'bread',
      'India' => 'curry',
    )  
    
[/code]

これをランダムにシャッフルして、  
以下のようにしたいのですが、

[code]

    array (
      'Philippines' => 'rice',
      'Japan' => 'curry',
      'France' => 'banana',
      'India' => 'bread',
    ) 
    
[/code]




keyとvalueを取り出して、valueのみシャッフルする方法です。

[code]

    <?php
    $ar = array (
      'Philippines' => 'banana',
      'Japan' => 'rice',
      'France' => 'bread',
      'India' => 'curry',
    );
    
    $keys = array_keys($ar);
    $values = array_values($ar);
    shuffle($values);
    
    for($i = 0; $i < count($ar); $i++) {
        $ar[$keys[$i]] = $values[$i];
    }
    
    print_r($ar);
    ?>
    
[/code]

