gpt4 book ai didi

php - array_rand 为什么会在 range(1, 20) 中得到 0

转载 作者:行者123 更新时间:2023-12-05 05:21:46 25 4
gpt4 key购买 nike

为什么 array_rand() 返回 0?我怎样才能过滤掉0?我只想得到 1-20。

$range = range(1, 20); 
$total = array();
for($i = 0; $i < 100; $i++){
shuffle($range);
array_push($total, array_rand($range, 3));
}

最佳答案

array_rand() 返回数组中的键,range() 构建了一个起始键为 0 的数组.尝试:

$range = array_combine($range = range(1, 20), $range); 

或者将键视为值而不使用实际值:

$range = array_flip(range(1, 20)); 

但是,您已经打乱了数组,因此不需要 array_rand(),只需从头开始切片 3:

$range = range(1, 20); 

for($i = 0; $i < 100; $i++){
shuffle($range);
$total[] = array_slice($range, 0, 3);
}

关于php - array_rand 为什么会在 range(1, 20) 中得到 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42257761/

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