php 数字和关联数组顺序打乱

     关于数组排序,PHP内置了shuffle()函数,可以重排数组排序,但是此函数“将删除原有的键名而不仅是重新排序”,如果传入的是关联数组,则关联数组的键名将丢失。 解决方法如下:关联数组和索引数组都可以用

function array_shuffle($array)

{

    //不是数组

    if(!is_array($array)) {

        return array();

    }

    //如果为空或者只有1项

    if(($count=count($array))<=1){

        return $array;

    }

     

    //得到打乱的键

    $rand_keys = array_rand($array, count($array));

    $newArr=array();

    foreach($rand_keys as $v) {

        $newArr[$v] = $array[$v];

    }

    return $newArr;

}

  

你可能感兴趣的:(PHP)