php如何打乱关联数组

来源:藏色散人 发布时间:2018-11-22 11:37:27 阅读量:725

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

推荐参考教程:《PHP教程

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

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

具体解决代码示例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<?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 '<pre>';

print_r(shuffle_assoc($colors));

效果如下图所示:

录制_2018_11_22_10_41_44_774.gif

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

注:

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

语法:

1

array_keys(array,value,strict)

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

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

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


标签: PHP
分享:
评论:
你还没有登录,请先