首頁  >  文章  >  後端開發  >  講解php 出現Warning: A non-numeric value encountered問題的原因及解決方法

講解php 出現Warning: A non-numeric value encountered問題的原因及解決方法

jacklove
jacklove原創
2018-06-08 15:50:238363瀏覽

本文介紹php出現Warning: A non-numeric value encountered問題,用實例分析出現這種錯誤的原因,並提供避免及解決問題的方法。

<?phperror_reporting(E_ALL);
ini_set(&#39;display_errors&#39;, &#39;on&#39;);$a = &#39;123a&#39;;$b = &#39;b456&#39;;echo $a+$b;?>

以上程式碼執行後會提示Warning: A non-numeric value encountered

查看PHP7.1官方文檔,對這種錯誤的解釋

New E_WARNING and E_NOTICE errors have been introduced when invalid strings are coerced using operators expecting numbers ( - * / ** % 10e3fdaca48eb0367c6d60dbc98f885d> equivalents. An E_NOTICE is emitted when the string begins with a numeric value but contains trailing non-numeric characters, and an E_WARNING is emitted when the string does not contain a numeric valueue. * % 10e3fdaca48eb0367c6d60dbc98f885d> | & ^) 運算時,例如a b,如果a是開始一個數字值,但包含非數字字元(123a),b不是數字值開始時(b456),就會有A non-numeric value encountered警告。

解決方法對於這個問題,首先應該在程式碼邏輯查看,為何會出現混合數值,檢查哪裡出錯導致出現混合數值。

對於

( - * / ** % 10e3fdaca48eb0367c6d60dbc98f885d> | & ^)

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

<?phperror_reporting(E_ALL);
ini_set(&#39;display_errors&#39;, &#39;on&#39;);$a = &#39;123a&#39;;$b = &#39;b456&#39;;echo intval($a)+intval($b);?>
加入

intval

方法強制轉為數值類型後,可以解決警告提示問題。 這篇文章說明了php 出現Warning: A non-numeric value encountered問題的原因及解決方法,更多相關內容請關注php中文網。

相關推薦:

使用mysql在終端執行sql並把結果寫入檔案的方法


透過mysql比對兩個資料庫表結構的方法


講解mysql binlog的使用方法

#

以上是講解php 出現Warning: A non-numeric value encountered問題的原因及解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn