在PHP中,可以使用rand()函数来实现计数抽样。以下是一个示例代码:
<?php
// 原始数据数组
$data = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 抽样数量
$sampleSize = 3;
// 计数抽样
$sample = array();
$total = count($data);
$selected = array();
for ($i = 0; $i < $sampleSize; $i++) {
$randomIndex = rand(0, $total - 1);
// 检查是否已选择过该索引
while (in_array($randomIndex, $selected)) {
$randomIndex = rand(0, $total - 1);
}
// 将选中的索引添加到已选择数组中
$selected[] = $randomIndex;
// 将选中的元素添加到抽样数组中
$sample[] = $data[$randomIndex];
}
// 输出抽样结果
print_r($sample);
?>
在上述代码中,我们首先定义了一个原始数据数组 $data,然后定义了抽样数量 $sampleSize。接下来,我们使用一个循环来进行计数抽样,每次循环中使用 rand() 函数生成一个随机索引,然后检查该索引是否已经被选择过,如果已经选择过,则继续生成随机索引,直到找到一个未选择过的索引。然后,将选中的索引添加到已选择数组中,并将对应的元素添加到抽样数组中。最后,输出抽样结果。
注意:上述代码中的计数抽样是不放回抽样,即每次抽样后,被选中的元素不会再次参与下一次的抽样。如果需要进行放回抽样,可以在每次循环中不删除已选择的索引,即不使用 $selected[] = $randomIndex; 这一行代码。
上一篇:php+根据数组元素排序
下一篇:php暂停多少秒执行
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站