基于变量获取数组中的最小值

问题描述 投票:0回答:3

我正在努力根据客户的回答获得最低价值。

$client_answer = 28;

$array = array(10,20,30,40,50);

应该给出的答案是:20

因此,每个答案都应四舍五入到较小的数字。

其他示例:

$client_answer = 37;

$array = array(10,20,30,40,50);

答案应为30。


$client_answer = 14;

$array = array(10,20,30,40,50);

答案应为10。


$client_answer = 45;

$array = array(10,20,30,40,50);

答案应为40。


是否有可用于此的php函数?

如果没有人可以帮助我编写某种脚本。

提前感谢!

:)

php arrays loops
3个回答
1
投票
$answer = floor($client_answer/10) * 10;

0
投票

您可以过滤数组以仅包含等于或低于给定值$client_answer的值,然后在过滤后的数组上使用max()

$value = max(array_filter($array, function($v) use ($client_answer) {
    return $v <= $client_answer;
}));

0
投票

这可能是一个非常愚蠢的答案,但是在这种特定情况下,您正在尝试截断单元号吗?为什么不试试这个:

$client_answer = int_div( $client_answer, 10) * 10;

除以10,除去最后一位,然后再次相乘。


0
投票

您可以使用内置函数min()。

$minvalue = min(array(90,20,40,60));

您可以在这里找到更多信息:https://www.geeksforgeeks.org/php-min-function/

© www.soinside.com 2019 - 2024. All rights reserved.