构建基于百分比数组

问题描述 投票:0回答:1

我想“for循环”通过大量和建设项目的数组,它是X%的一种方式和X%其他。

对于〔实施例的缘故:我要生成的假客户记录的数组。

这个想法是在循环的结束,我将有一个包含只包含客户ID和包含姓,名和已知的信息80名%的用户20%的用户的阵列。细节的产生并不重要,那就是在循环是分开的百分比。

到目前为止,这是我与合作:

    $percentage = $percent_known / 100;
    $percnum = $this->number_of_records * $percentage;
    $iterat = $this->number_of_records / $percnum;

    for ($i=0; $i < $this->number_of_records; $i++) { 
        if ($i % $iterat == 0) {
            //add known records
        }
        else {
            //just add a customer id
        }
    }

把80 $ a的值时percent_known我得到的1.25的所迭代和我所有的记录都是已知的。

php
1个回答
2
投票

你可以(通过填写高达$percnum),然后添加未知的简化它填补了所有已知的人的。如果你想他们是随机的,那么只要使用shuffle()在最后的结果混合在一起...

$percentage = $percent_known / 100;
$percnum = $this->number_of_records * $percentage;

$customers = [];
for ($i=0; $i < $this->number_of_records; $i++) {
    if ($i < $percnum) {
        //add known records
    }
    else {
        //just add a customer id
    }
}
shuffle($customers);

如果值是相同的 - 你可以使用array_fill()而不是使用一个循环总是生成一个批处理和合并两种格式,并再次洗牌的结果。

© www.soinside.com 2019 - 2024. All rights reserved.