array_rand
和shuffle
是两个不同的PHP函数,它们用于处理数组,但有一些关键区别:
array_rand
:此函数从给定的数组中随机选择一个或多个单元(元素),并返回所选单元的键。如果需要选择多个单元,可以通过传递第二个参数来指定所需的单元数量。注意,这不会改变原始数组的顺序。
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); $rand_keys = array_rand($input, 2); echo $input[$rand_keys[0]] . "\n"; echo $input[$rand_keys[1]] . "\n";
shuffle
:此函数将给定数组中的单元随机排序。它直接修改原始数组,而不是创建新的数组。如果成功,则返回true
;否则返回false
。
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); shuffle($input); print_r($input);
总结:array_rand
用于从数组中随机选择一个或多个元素,并返回所选元素的键;而shuffle
用于直接对数组进行随机排序。