【发布时间】:2018-12-10 12:21:15
【问题描述】:
我有一个包含 n 个元素的数组,我需要将这些元素中的 20% 随机放入另一个数组中。有什么功能可以实现吗?
目前我能想到的是这样的:
foreach ($orders as $order) {
if (rand(1, 100) > 80) {
echo('20%');
} else {
echo('80%');
}
}
有没有更优化的方法?
【问题讨论】:
-
@The50 这不会得到 20% 的数组元素,有时它可能会得到更多或更少。您只是随机获得一个数字,而不是获得 20% 的随机元素。
-
没有内置功能,但可以使用
count()floor()、range()和循环轻松完成 -
你必须得到正好一半吗?请注意,在您的示例中,您通过统计获得 20% 而不是
n/5