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


  今天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方法進行強制轉為數值型后,可以解決警告提示問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM