gpt4 book ai didi

php - 如何根据 PHP 中选定的百分比返回数组的一部分?

转载 作者:行者123 更新时间:2023-12-03 02:40:26 24 4
gpt4 key购买 nike

我想做的是获取一个名称列表(来自输入),比如说 100,将它们打乱,然后根据数组的特定百分比 (n) 返回一个随机选择。

例如,如果数组有 100 个元素(名称),则返回 5%,即打乱数组中的 5 个随机名称。我尝试过在谷歌上搜索解决方案,但找不到太多,而且很茫然,无法只返回一个打乱的数组。

(摘录)

if(isset($_POST['submit']) === true) {

$names = $_POST['ShuffleNames'];

$namesArray = explode("\n", $names);
shuffle($namesArray);

//display each name on new line
foreach($namesArray as $name) {
echo "<li>". $name . "</li>";
}

}

最佳答案

您可以按如下方式进行:

  • 接受用户输入 - 数组和百分比
  • 使用 count() 计算数组元素的数量
  • 计算百分比:(计数/百分比)* 100
  • 使用 array_slice() 对数组进行切片并返回结果

作为函数:

function array_percentage($array, $percentage) 
{
shuffle($array);
$count = count($array);
$result = array_slice($array, 0, ceil($count*$percentage/100));
return $result;
}

您可以像这样使用它:

if(isset($_POST['submit'])) {    
$names = $_POST['ShuffleNames'];
$namesArray = explode("\n", $names);
print_r(array_percentage($namesArray, 5));
}

<强> Demo!

关于php - 如何根据 PHP 中选定的百分比返回数组的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18772348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com