php随机洗牌算法

<?php
$my_array = array("20" => "Dog", "21" => "Cat", "22" => "Horse","99"=>"adsfasdf");
$res = suiji($my_array);
echo "随机打乱数组!";
var_dump($res);

function suiji($a){
    $res=$a;
    $arr=array();
    $num=count($res);
    for($i=0;$i<$num;$i++){
        $res=array_values($res);
        $b=rand(0,$num-$i-1);
        $arr[$i]=$res[$b];
        unset($res[$b]);
    }
    return $arr;
}
//print_r($my_array);
//shuffle($my_array);
//print_r($my_array);
?>