扫码关注官方订阅号
我在PHP中有一个对象数组。我需要随机选择其中的8个。我的最初想法是使用array_rand(array_flip($my_array), 8),但这不起作用,因为对象不能作为数组的键。
array_rand(array_flip($my_array), 8)
我知道我可以使用shuffle,但是我担心随着数组的增长,性能会变差。这是最好的方法吗,还是有更高效的方法?
shuffle
$array = array(); shuffle($array); // 随机排列数组项的顺序 $newArray = array_slice($array, 0, 8);
注意,shuffle() 函数将参数作为引用传递,并对其进行更改。
shuffle()
$result = array(); foreach( array_rand($my_array, 8) as $k ) { $result[] = $my_array[$k]; }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
注意,
shuffle()函数将参数作为引用传递,并对其进行更改。$result = array(); foreach( array_rand($my_array, 8) as $k ) { $result[] = $my_array[$k]; }