Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php如何打乱关联数组

php如何打乱关联数组

藏色散人
藏色散人asal
2018-11-22 11:00:063321semak imbas

本篇文章主要给大家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打乱关联数组的方法介绍,也是非常简单易懂的,希望对需要的朋友有所帮助!

Atas ialah kandungan terperinci php如何打乱关联数组. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn