首页 >后端开发 >php教程 >php如何打乱关联数组

php如何打乱关联数组

藏色散人
藏色散人原创
2018-11-22 11:00:063358浏览

本篇文章主要给大家PHP如何打乱关联数组

推荐参考教程:《PHP教程

对于PHP学习者来说,提到打乱数组,可能第一时间就想到shuffle函数。但是如何解决打乱关联数组并且保留键值对的问题可能就存在一定难度。

下面我们就结合具体的代码示例,给大家介绍php打乱关联数组并保持键值对的方法。

具体解决代码示例如下:

<?php
function shuffle_assoc($my_array)
{
    $keys = array_keys($my_array);

    shuffle($keys);

    foreach($keys as $key) {
        $new[$key] = $my_array[$key];
    }

    $my_array = $new;

    return $my_array;
}

$colors = array("color1"=>"Red", "color2"=>"Green", "color3"=>"Yellow");
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r(shuffle_assoc($colors));

效果如下图所示:

录制_2018_11_22_10_41_44_774.gif

如图,当我们每刷新一次就会打乱一次,并且原先的键值对是保持不变的。

注:

1、array_keys() 函数返回包含数组中所有键名的一个新数组。

语法:

array_keys(array,value,strict)

如果提供了第二个参数,则只返回键值为该值的键名。如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。

2、shuffle() 函数把数组中的元素按随机顺序重新排列。该函数为数组中的元素分配新的键名。已有键名将被删除。

本篇文章就是关于PHP打乱关联数组的方法介绍,也是非常简单易懂的,希望对需要的朋友有所帮助!

以上是php如何打乱关联数组的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn