首页 >php教程 >php手册 >php中数字与关联数组顺序打乱

php中数字与关联数组顺序打乱

WBOY
WBOY原创
2016-05-25 16:56:131057浏览
关于数组排序,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;
}

复制代码


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;} 永久地址:转载随意~请带上教程地址吧^^
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn