将一个数组随机打乱

/**
 *将数组随机打乱(数组下标为连续数字)
 *
 */
function randArray($rArray)
{
$len = count($rArray);
foreach($rArray as $k=>$v)
{
$r = mt_rand(0,$len - 1);
$temp = $rArray[$k];
$rArray[$k] = $rArray[$r];
$rArray[$r] = $temp;
}
return $rArray;
}
/**
 *将数组随机打乱(数组下标不限)
 *
 */
function randArray2($rArray)
{
$keys = array_keys($rArray);
$keys = randArray($keys);
foreach($keys as $k=>$v)
{
$r2Array[$v] = $rArray[$v];
}
return $r2Array;

}


===========================================================

测试


$rArray = array();
$total = 15;
$i = 0;
while($i < $total) //初始化一个数组
{
$rArray[$i] = $i;
$i++;
}
$rArray['aa'] = 15; //非数字下标
$rArray[20] = 20;
foreach($rArray as $k=>$v) //打印原始数组
{
echo "&nbsp;&nbsp;".$k.'=>'.$v;


$rArray = randArray2($rArray); //调用随机方法
foreach($rArray as $k=>$v) //打印处理后的数组
{
echo "&nbsp;&nbsp;".$k.'=>'.$v;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值