gpt4 book ai didi

php - 评估多个表达式以确定php中数字变量的范围

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:41 25 4
gpt4 key购买 nike

抱歉,如果标题令人困惑。

我在数组中有几个字符串表达式,如下所示:

var1 <= 6  && var1 > 3
var1 > 2
var1 > 4.5

var2 < 22.5
var2 >= 14.25
var2 < 16

我怎样才能评估所有表达式以确定:

var1 min
var1 max
var2 min
var2 max

我明白,如果表达式不是“或等于”,我将无法获得准确的值。没关系。

最佳答案

您正在尝试进行简单的线性规划。 SimplexInPHP在 PHP 中实现线性规划,您可以使用它。查看实际效果 here .

另一种选择是自己实现解决方案。使用 split() 将每个不等式拆分为标记。对于每个变量,从范围 [-inf, inf] 开始计算最小值/最大值,并针对每个不等式更新它。如果运算符以 < 开头然后将 max 更新为 max(cur_max, value) ;否则将 min 更新为 min(cur_min, value) .

您还必须跟踪端点是包含的还是排他的。这可以用 bool 值来完成 is_min_inclusiveis_max_inclusive .如果运算符以 = 结尾,则包含新的端点,否则就是排他性的。一定要处理你有 x < 1 的情况 x <= 1 (在两个顺序中),这应该导致 x < 1 .

关于php - 评估多个表达式以确定php中数字变量的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4594641/

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