今天遇到个小逻辑,就是要在 php 中将一个数组中的所有元素的原有顺序打乱,并重新排列。而 php 中预设的 shuffle() 函数可以实现这一需求。

php shuffle() 函数详解

shuffie():将数组中所有的元素按随机的顺序重新排列,成功返回 TRUE 失败返回 FALSE

语法:

shuffle(array);

参数:

array:要处理的数组

注意:该函数为数组中的元素分配新的键名。已有键名将被删除

例1:php数组随机排序

php代码:

<?php
$arr = array('red','green','blur','yellow');
shuffle($arr);
print_r($arr);
?>

打印结果:

Array
(
    [0] => yellow
    [1] => red
    [2] => blur
    [3] => green
)

例2:php打乱带有固定键值元素的数组

php代码:

<?php
$arr = array(
    'aa' => 'a',
    'bb' => 'b',
    'cc' => 'c',
    'dd' => 'd',
    'ee' => 'e',
);
shuffle($arr);
print_r($arr);
?>

打印结果:

Array
(
    [0] => c
    [1] => a
    [2] => d
    [3] => e
    [4] => b
)

注:

1、shuffle() 函数处理后的数组中的元素的原有键名会被删除掉

2、原有的键名删除后,会被分配新的键名