php - 获取数组中 20% 元素的方法 - PHP
问题描述
我有一个包含 n 个元素的数组,我需要将这些元素中的 20% 随机放入另一个数组中。有什么功能可以实现这个吗?
目前我能想到的是这样的:
foreach ($orders as $order) {
if (rand(1, 100) > 80) {
echo('20%');
} else {
echo('80%');
}
}
有没有更优化的方法?
解决方案
你可以shuffle
数组然后取前 20% 的元素。
$array = [1, 2, 3, 4];
shuffle($array);
$twenty = array_slice($array, 0, floor(count($array) / 5));
$eighty = array_slice($array, floor(count($array) / 5));
推荐阅读
- python - Tensorflow:Logits和Label的大小必须相同
- c# - 计算在 Unity 编辑器中工作,但在我的 iPhone 上不起作用(逗号与浮点中的点)
- python - 带有 TokenAuthentication 的 DRF - 未提供身份验证凭据
- html - 引导带 Accordian 不折叠
- python - 偏移极杆径向原点,python Plotly Express
- snowflake-cloud-data-platform - 删除外部阶段而不删除 S3 文件
- sql - 如何捕获分组中的第一行以及每行至少相隔 15 天的后续行?
- javascript - 如何获取给定 HTML 文档或网页中特定 HTML 元素的值(通过 URL)?
- php - array_multisort() 和对象 - 警告“数组大小不一致”
- javascript - 有没有办法使用 PropTypes 检查多种类型的孩子?