PHP与shuffle和array_rand之间的区别

8 php

PHP 之间的区别shufflearray_rand功能到底是什么?如果没有差别哪个更快.

谢谢

Pas*_*TIN 9

在数组上调用时,shuffle随机化该数组的所有元素的顺序.

例如,以下代码部分:

$arr = array(1, 2, 3, 4, 5);
shuffle($arr);
var_dump($arr);
Run Code Online (Sandbox Code Playgroud)

可以给出这个输出:

array
  0 => int 3
  1 => int 1
  2 => int 5
  3 => int 4
  4 => int 2
Run Code Online (Sandbox Code Playgroud)

整个数组本身都被修改了.


在数组上调用时,array_rand从该数组中返回一个或多个随机选择的键.

例如,以下代码部分:

$arr = array(1, 2, 3, 4, 5);
$randomly_selected = array_rand($arr, 3);
var_dump($randomly_selected);
Run Code Online (Sandbox Code Playgroud)

可以给出一些输出:

array
  0 => int 0
  1 => int 2
  2 => int 3
Run Code Online (Sandbox Code Playgroud)

返回初始数组的子数组 - 并且不修改初始数组.

  • 请注意,array_rand返回数组键,而不是元素本身. (3认同)