この記事では、PHP の 警告: 数値以外の値が発生しました 問題について紹介し、例を使用してこのエラーの理由を分析し、問題を回避および解決する方法を示します。
<?phperror_reporting(E_ALL); ini_set('display_errors', 'on');$a = '123a';$b = 'b456';echo $a+$b;?>
上記のコードを実行すると、プロンプトが表示されます。警告: 数値以外の値が検出されました
説明については、PHP7.1 公式ドキュメントを確認してください。このエラー
数字を期待する演算子 ( - * / ** % << >> | & ^) を使用して無効な文字列が強制された場合、新しい E_WARNING エラーと E_NOTICE エラーが導入されました。 ) またはそれに相当する割り当て。文字列が数値で始まるが、末尾に数値以外の文字が含まれている場合は E_NOTICE が発行され、文字列に数値が含まれていない場合は E_WARNING が発行されます ( - * / * * % << >> b などの演算時、a は数値で始まるが数値以外の文字が含まれており (123a)、b は数値で始まりません。 b456)、「非数値が検出されました」という警告が表示されます。
解決策この種の問題の場合は、まずコード ロジックをチェックして、混合値が表示される理由を確認し、エラーが発生した場所を確認してください。値が混在しています。
( - * / ** % << >> | & ^) の操作では、間違った値を変換するための変換型メソッドを追加することもできます。 メソッドを追加して数値型への変換を強制すると、警告の問題は解決できます。 この記事では、「警告: PHP で非数値の問題が発生しました」の理由と解決策について説明します。関連コンテンツの詳細については、PHP 中国語 Web サイトを参照してください。 関連する推奨事項: 以上が警告: PHP で非数値が発生しました問題の原因と解決策を説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。<?phperror_reporting(E_ALL);
ini_set('display_errors', 'on');$a = '123a';$b = 'b456';echo intval($a)+intval($b);?>