PHP替换公式中的特定值

时间:2019-05-23 11:41:47

标签: php

我有一个公式,其中一些数据需要用MYSQLI查询结果替换。

公式如下:

100+400-600-700

公式中的数字将匹配数据库中的特定表行并输出正确的值,例如:

121000+1000-8000-2000

我尝试使用以下公式从原始字符串中提取所有特殊字符,以便通过MYSQLI获得正确的数据库结果:

preg_match_all('!\d+!', $rf, $matches);

foreach ($matches as $key1 => $value) {

                    //Declare summarization of TOT rows
                    $TOT = 0;
                    foreach ($value as $single) {

                    $querymatch = mysqli_query($mysqli, "SELECT rowMainAccount FROM reportTable_rowDefinitions WHERE rowCode = '$single' AND reportID = $rowDefinition");
                    $arraymatch = mysqli_fetch_array($querymatch);
                    $TOTaccount = $arraymatch['rowMainAccount'];

                        //Fetch values from FinancialTransactions
                        //Fetch values

                                    $queryTOT = mysqli_query($mysqli, "SELECT SUM(debit) AS debitTOT, SUM(credit) AS creditTOT FROM FinancialTransactions WHERE mainAccount = $TOTaccount AND entity = $org AND date BETWEEN '$newStartDate' AND '$newEndDate'");
                                    $arrayTOT = mysqli_fetch_array($queryTOT);
                                    $TOTcred += $arrayTOT['creditTOT'];
                                    $TOTdeb += $arrayTOT['debitTOT'];


                    }
                    $TOT += $TOTdeb - $TOTcred;

                }
                echo $TOT; //Returns values

这只会替换原始字符串中的数字,结果为

121000100080002000

来自foreach循环。

如何将DB返回的值放入原始公式中以获取正确的输出

121000+1000-8000-2000

1 个答案:

答案 0 :(得分:0)

使用Encryptor +- Public key +- Group parameters +- Curve +- Field Decryptor +- Private key +- Group parameters +- Curve +- Field Verifier +- Public key +- Group parameters +- Curve +- Field Signer +- Private key +- Group parameters +- Curve +- Field ,然后在回调中获取适当的值并将其preg_replace_callback放入原始字符串中。