嗨我尝试返回最大值与排除interwal。 我从2000年到2015年的表格数据。 下一页我将返回最小值和最大值,但我希望排除2005年和2010年之间的间隔。 例如 当我rand 2000,2004,2006时,我希望max将是2004. 我的实际尝试,不起作用:最小和最大从兰特表中排除间隔在PHP
$tab = array();
for ($i = 0; $i < 10; $i++) {
$tmp = rand(2000,2015);
$tab[$i] = $tmp;
}
$d = array_count_values($tab);
arsort($d);
$max = max(
array_keys(
array_filter(
$d,
function($y) {
return $y < 2005 || $y > 2010;
},
ARRAY_FILTER_USE_KEY
)
)
);
此外,您还可以更具体的了解你的意思是“不工作”是什么? –
兰德之间2000年和2015年之间。我有错误:注意:使用未定义的常量ARRAY_FILTER_USE_KEY - 假设'ARRAY_FILTER_USE_KEY'中,警告:array_filter()期望至多2个参数,3中给出警告:array_keys()期望参数1是数组,null给出,警告:max():当只给出一个参数时,它必须是一个数组in和function没有retun – vjdj
检查你的php版本。来自array_filter doc:“5.6.0 \t添加了可选标志参数和常量ARRAY_FILTER_USE_KEY和ARRAY_FILTER_USE_BOTH” – marcellorvalle