亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的php計算沒有顯示結果

我的php計算沒有顯示結果

PHP
皈依舞 2022-07-02 15:41:21
我有一個非常愚蠢的問題。我正在從 mysql 中提取收入和支出的總額,然后我想從收入中減去支出。由于某種原因,結果不是剩下的,而是顯示了收入數字 - 支出數字。代碼如下function total_by_type_between_dates($type, $start, $end){    global $uc_con;    $start  = strtotime ($start);    $end    = strtotime ($end);    $sql    = "SELECT SUM(amount) AS total FROM account WHERE `time` > $start && `time` < $end &&  `type` = '$type'";    $result = $uc_con->query($sql);    $row    = $result->fetch_array(MYSQLI_ASSOC);    $total  = number_format((float)$row['total'], 2, '.', '');    echo $total;}function total_expense_between_dates($start, $end){    global $uc_con;    $start  = strtotime ($start);    $end    = strtotime ($end);    $sql    = "SELECT SUM(amount) AS total FROM account WHERE `time` > $start && `time` < $end && `type` != 'income' && `type` != 'mileage'";    $result = $uc_con->query($sql);    $row    = $result->fetch_array(MYSQLI_ASSOC);    $total  = number_format((float)$row['total'], 2, '.', '');    return $total;}echo total_by_type_between_dates('income', $date_begining, $date_ending)-total_expense_between_dates($date_begining, $date_ending);奇怪的是結果顯示如下:2770.69-407.42而不是2363.29誰能告訴我可能是什么原因造成的
查看完整描述

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

您的total_by_type_between_dates函數正在回顯其結果而不是返回它。所以你的

echo total_by_type_between_dates('income', $date_begining, $date_ending)-total_expense_between_dates($date_begining, $date_ending);

有效地

echo total_by_type_between_dates('income', $date_begining, $date_ending);
echo null-total_expense_between_dates($date_begining, $date_ending);

并且null在數字上下文中被視為 0,因此您看到的結果是:2770.69-407.42

改變

echo $total;

total_by_type_between_dates

return $total;

并且代碼將按預期工作。

3v4l.org 上的精簡演示


查看完整回答
反對 回復 2022-07-02
  • 1 回答
  • 0 關注
  • 186 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號