Random\Randomizer::pickArrayKeys

(PHP 8 >= 8.2.0)

Random\Randomizer::pickArrayKeys选择随机数组键

描述

public Random\Randomizer::pickArrayKeys(array $array, int $num): array

均匀地从输入 array 中选择 num 个不同的数组键。

输入 array 的每个键都有相等的可能性被返回。

注意

数组键的选择取决于输入 array 的内部结构。对于两个相等的输入数组和两个状态相同的 Random\Engine,返回的数组键可能不同,具体取决于输入数组的创建方式。

参数

array

要选择其数组键的数组。

num

要返回的数组键数量;必须在 1array 中元素数量之间。

返回值

包含 num 个不同 array 数组键的 array

返回的 array 将是一个列表 (array_is_list())。它将是 array_keys() 返回的 array 的一个子集。

错误/异常

示例

示例 #1 Random\Randomizer::pickArrayKeys() 示例

<?php
$r
= new \Random\Randomizer();

$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];

// 选择 2 个随机数组键:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n";

// 再选择 3 个:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n";
?>

上面的示例将输出类似于以下内容

Keys: yellow, purple
Keys: red, green, yellow

示例 #2 选择随机值

<?php
$r
= new \Random\Randomizer();

$fruits = [ 'red' => '🍎', 'green' => '🥝', 'yellow' => '🍌', 'pink' => '🍑', 'purple' => '🍇' ];

$keys = $r->pickArrayKeys($fruits, 2);
// 查找选定键的值。
$selection = array_map(
static fn (
$key) => $fruits[$key],
$keys
);

echo
"Values: ", implode(', ', $selection), "\n";
?>

上面的示例将输出类似于以下内容

Values: 🍎, 🍇

参见

添加备注

用户贡献的备注

此页面没有用户贡献的备注。
To Top