要对 PHP 数组内的元素进行随机调换(即随机打乱数组元素的排列顺序),可以使用 PHP 内置的 shuffle() 函数。
要对 PHP 数组内的元素进行随机调换(即随机打乱数组元素的排列顺序),可以使用 PHP 内置的 shuffle() 函数。
shuffle() 函数的语法如下:
shuffle($array);
其中,$array 表示要进行随机打乱顺序的数组。这个数组可以是索引数组或关联数组。当完成打乱顺序后,$array 数组的键名和键值都会被打乱。
下面通过两个示例进行说明:
示例1:随机打乱一个索引数组
假设有一个索引数组 $numbers,包含数字 1~10。现在需要把数组内的元素顺序打乱,可以使用以下代码:
<?php
$numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // 定义一个包含数字1~10的索引数组
shuffle($numbers); // 随机打乱数组元素的顺序
print_r($numbers); // 打印出随机打乱后的数组
?>
这段代码的输出结果可能是:
Array
(
[0] => 6
[1] => 2
[2] => 7
[3] => 8
[4] => 10
[5] => 1
[6] => 3
[7] => 4
[8] => 9
[9] => 5
)
可以看到,$numbers 数组的元素顺序已经被随机打乱了。
示例2:随机打乱一个关联数组
现在有一个关联数组 $fruits,里面存放了一些水果名称和对应的价值。需要把数组内的元素随机打乱,以模拟一个随机选取水果的场景。可以使用以下代码:
<?php
$fruits = array(
"apple" => 5.5,
"banana" => 3.5,
"orange" => 6,
"pear" => 4,
"grape" => 8
); // 定义一个关联数组,存放水果名称和对应的价值
shuffle($fruits); // 随机打乱数组元素的顺序
print_r($fruits); // 打印出随机打乱后的数组
?>
这段代码的输出结果可能是:
Array
(
[0] => 8
[1] => 5.5
[2] => 4
[3] => 3.5
[4] => 6
)
可以看到,$fruits 数组的元素顺序已经被随机打乱了。需要注意的是,这时候数组的键名也被打乱了,因为 shuffle() 函数只是随机打乱了数组的值,没有保留原来的键名。如果需要保留原来的键名,可以先用 array_keys() 函数获取原数组的所有键名,打乱顺序后再使用 foreach 循环实现重新赋值,具体代码实现略。
本文标题为:php对数组内元素进行随机调换的方法


基础教程推荐
- PHP数组循环操作详细介绍 附实例代码 2023-12-10
- thinkphp5框架实现数据库读取的数据转换成json格式示例 2023-02-22
- PHP实现模拟http请求的方法分析 2022-10-02
- ThinkPHP3.2框架操作Redis的方法分析 2023-01-14
- PHP array_reduce()函数的应用解析 2022-11-28
- php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia) 2023-04-01
- php网络安全中命令执行漏洞的产生及本质探究 2023-07-11
- 解决laravel5.4下的group by报错的问题 2023-03-02
- 详解Laravel框架的依赖注入功能 2022-09-01
- php合并数组并保留键值的实现方法 2022-10-08