gpt4 book ai didi

php - 如何读取/破译用户定义的数学公式并在 php 中执行请求的操作

转载 作者:行者123 更新时间:2023-11-30 22:39:59 25 4
gpt4 key购买 nike

我有一个用户定义的公式存储在 mysql 表中,作为 AVG({Arrival_Date}-{Departure_Date}) 我设法获得项目 Arrival_Date 和 Departure_Date,然后从单独的表中选择行。 p>

如何用从数据库表中选择的实际数据替换 AVG({Arrival_Date}-{Departure_Date}) 中的 {Arrival_Date} 和 {Departure_Date}?

最佳答案

您好,感谢您的建议。我使用 https://github.com/jlawrence11/eos 解决了上述问题.因此,只要遵循 bodmas 规则,就无需尝试破译公式。

您只需读取定义的公式,将值(数字或 float )传递给公式,然后调用 eos 进行计算。

示例:

  <?php

$formula_as_defined = AVG({Arrival_Date}-{Departure_Date}) ; //get the formula from database

$str= str_ireplace('{','',$formula_as_defined);
$mod_str= str_ireplace('}','',$str);
$mod_str;
//
foreach($sql_select_resultset as $array) //This an array of values selected from db table #1 => Arrival_Date #2 =>Departure_Date
{
foreach($array as $key => $value)
{
$col_mod[]= $key;

$val_mod[]= strtotime($value);
//
}
$char_mod = str_ireplace($col_mod,$val_mod,$mod_str);
unset($col_mod);
unset($val_mod);
//
// $equation = "(".strtotime('13-07-2015')."-".strtotime('20-07-2015').")";
$equation = $char_mod ;
$eq = new eqEOS();
$result = $eq->solveIF($equation); //pass the your formula to solveIF and your are done.
//
$myresults = $this->groupData($myresults,$array,$x_axis_column,$results_type_time);
array_push($myresults[date('m',strtotime($array[$x_axis_column]))],$result);

}
?>

关于php - 如何读取/破译用户定义的数学公式并在 php 中执行请求的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31388418/

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