1. 程式人生 > >warning: a non-numeric value encountered in line *的解決方法

warning: a non-numeric value encountered in line *的解決方法

warning 文檔 一個 count 數值 如果 col pow 檢查

  今天ytkah在調試項目的時候出現了一個警告warning: a non-numeric value encountered in line 694,查看php官方文檔,上面解釋說在使用(+ - * / ** % << >> | & ^) 運算時,例如a+b,如果a是開始一個數字值,但包含非數字字符(123a),b不是數字值開始時(b456),就會有A non-numeric value encountered警告。解決方法:對於這種問題,首先應該在代碼邏輯查看,為何會出現混合數值,檢查哪裏出錯導致出現混合數值。對於(+ - * / ** % << >> | & ^)

的運算,我們也可以加入轉換類型方法,把錯誤的數值轉換。

  第694行原來的代碼是

$second = round($match[6] + $match[7] / pow(10, strlen($match[7])));

  把它改成

$second = round(intval($match[6]) + intval($match[7]) / pow(10, strlen($match[7])));

  加入intval方法進行強制轉為數值型後,可以解決警告提示問題。

warning: a non-numeric value encountered in line *的解決方法