Small optimization to that idea;
You could just loop through every element and swap it with a random element.
srand ((double) microtime() * 1000000);
$aArray=array(1,2,3,4,5,6,7,8,9,0);
echo '<pre>';
print_r($aArray);
for ($t=0;$t<count($aArray);$t++)
{
$iRandVal = rand(0,count($aArray)-1);
$mTemp = $aArray[$iRandVal];
$aArray[$iRandVal]=$aArray[$t];
$aArray[$t]=$mTemp;
};
print_r($aArray);
echo '</pre>';