如何利用array_rand實(shí)現(xiàn)PHP數(shù)組的隨機(jī)抽樣

PHP
小樊
83
2024-09-12 13:56:45

在 PHP 中,可以使用 array_rand 函數(shù)來(lái)實(shí)現(xiàn)數(shù)組的隨機(jī)抽樣

<?php
// 原始數(shù)組
$originalArray = array("A", "B", "C", "D", "E");

// 設(shè)置要抽取的元素個(gè)數(shù)
$sampleSize = 3;

// 使用 array_rand 函數(shù)從原始數(shù)組中隨機(jī)抽取 $sampleSize 個(gè)元素的鍵
$randomKeys = array_rand($originalArray, $sampleSize);

// 初始化一個(gè)空數(shù)組,用于存儲(chǔ)抽樣后的元素
$sampledArray = array();

// 根據(jù)隨機(jī)抽取的鍵,將對(duì)應(yīng)的元素添加到抽樣后的數(shù)組中
foreach ($randomKeys as $key) {
    $sampledArray[] = $originalArray[$key];
}

// 輸出抽樣后的數(shù)組
print_r($sampledArray);
?>

上述代碼首先定義了一個(gè)原始數(shù)組 $originalArray,然后設(shè)置要抽取的元素個(gè)數(shù) $sampleSize。接下來(lái),使用 array_rand 函數(shù)從原始數(shù)組中隨機(jī)抽取 $sampleSize 個(gè)元素的鍵,并將這些鍵存儲(chǔ)在 $randomKeys 數(shù)組中。然后,根據(jù)這些隨機(jī)抽取的鍵,將對(duì)應(yīng)的元素添加到抽樣后的數(shù)組 $sampledArray 中。最后,輸出抽樣后的數(shù)組。

需要注意的是,array_rand 函數(shù)在 PHP 7.1.0 及更高版本中才可用。如果你使用的是較舊的 PHP 版本,可以考慮使用其他方法(例如 shufflearray_slice 函數(shù))來(lái)實(shí)現(xiàn)數(shù)組的隨機(jī)抽樣。

0