1
我有下面的代碼片段,它會將輸入投射到浮點數,並根據浮點數是正數還是負數來創建變量數學運算符>
或<
。PHP動態數學運算符問題
// allow custom variance from user input
if (isset($request->custom_variance)) {
$variance_amount = floatval($request->custom_variance);
($variance_amount < 0) ? $operator = " < " : $operator = " > ";
} else {
// set default
$variance_amount = floatval(-50);
$operator = " < ";
}
然後我用這些變量在if語句,我已經在這裏傾倒到顯示輸出:
var_dump((floatval($value_one) - floatval($value_two)).$operator.$variance_amount);
// returns "-51.35 < -50"
如果我硬代碼,我得到這個值(它的工作原理,因爲我想要一個布爾)
var_dump((floatval($value_one) - floatval($value_two)) < -50);
// returns true
我已經做了一些閱讀就在這裏這件事,好像我的操作被解釋爲一個字符串,但我想避免使用eval()
F IT不工作如果可能的話聯合。
有什麼建議嗎?