我在PHP中有一些功能,我在SQL中执行一些查询并从用户输入中获取一个数字。
我在那里堆叠它应该如何。
我的代码:
$x = $request->input('usd');
$roi = $profit / $request->input('usd');
$cor = $request->input('usd') - $profit;
$prof = abs($profit);
$data['roi'] = $roi >= 0 ? '+'. $roi : '-'. $roi;
$data['cor'] = $cor >= $x ? '+' . $cor : '-' . $cor;
$data['prof'] = $profit >= $x ? '+' . $prof : '-' . $prof;
例如$x = 1000$
但它总是在负号中加+加数 - 加上数字。
更新:
我在php中进行了调试我得到了负数
$x = '1000';
echo 'X: ' . $x . '<br />';
$pro = '-0.59%';
$roi = $pro / $x;
echo 'ROI: ' . $roi . '<br />';
echo sprintf('ROI: ',$roi);
$cor = $pro - $x;
echo 'COR: ' . $cor . '<br />';
$prof = $pro;
echo 'PROFIT: ' . $pro . '<br />';
?>
但如果我在AJAX中打印它现在显示减号。 结果:
X:1000 投资回报率:-0.00059 投资回报率:COR:-1000.59 利润:-0.59%
答案 0 :(得分:1)
我建议你做一些调试来追踪你的价值观。每当我遇到这样的情况时,很高兴看到每个值如何跟踪。您可以使用http://phpdbg.com/等调试软件,也可以手动执行以下调试:
$x = $request->input('usd');
echo 'X:" $x . '<br>';
$roi = $profit / $request->input('usd');
echo 'ROI:" $x . '<br>';
$cor = $request->input('usd') - $profit;
echo 'COR:" $x . '<br>';
$prof = abs($profit);
echo 'PROF:" $x . '<br>';
$data['roi'] = $roi >= 0 ? '+'. $roi : '-'. $roi;
echo 'data[roi]:" $x . '<br>';
$data['cor'] = $cor >= $x ? '+' . $cor : '-' . $cor;
echo 'data[cor]:" $x . '<br>';
$data['prof'] = $profit >= $x ? '+' . $prof : '-' . $prof;
echo 'data[prof]:" $x . '<br>';
调试器显然更优雅,但有时对于简单的值跟踪手册并不是那么糟糕。