[解決済み] 警告 非数値的な値に遭遇しました
2022-02-01 02:42:29
質問
最近、PHP 7.1 にアップデートしたところ、以下のエラーが発生するようになりました。
警告 29行目で非数値が見つかりました。
29行目はこんな感じです。
$sub_total += ($item['quantity'] * $product['price']);
ローカルホストではすべて正常に動作しています。
この問題に対処する方法、または原因は何でしょうか?
解決方法は?
PHP 7.1では、数値以外を入力すると警告が出るようです。これを参照してください。 リンク .
以下は、表示されている警告に関連する部分です。
<ブロッククオート新しいE_WARNINGとE_NOTICEエラーは、無効な 文字列が数値またはその演算子を用いて強制されました。 代入に相当します。文字列が以下のように始まる場合、E_NOTICEが表示されます。 は数値であるが、末尾に非数値文字を含んでいる。 文字列に数値が含まれていない場合、E_WARNINGが表示されます。 の値です。
どちらかでしょう アイテム['数量'] または $product['price'](商品価格 には数値が含まれないので、掛け算をする前に数値が含まれていることを確認します。小計を計算する前に、ある種の条件を使って、このようにすることもできます。
<?php
if (is_numeric($item['quantity']) && is_numeric($product['price'])) {
$sub_total += ($item['quantity'] * $product['price']);
} else {
// do some error handling...
}
関連
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】PHP定数「PHP_EOL」はいつ使うの?
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み】Laravel 5.2 Storage::makeDirectory($dir) でディレクトリが作成されない。
-
[解決済み】既に開始されているPHPセッション【重複あり
-
[解決済み】count()パラメータは配列かlaravelのcountableを実装したオブジェクトでなければならない
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み】ディレクトリ内のファイル数を数える PHP
-
[解決済み】PHPからPythonスクリプトを実行する
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み】未定義のメソッド mysqli_stmt::get_result を呼び出す。
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み】phpMyAdmin: シークレットパスフレーズ?
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?