ホームページ  >  記事  >  バックエンド開発  >  初心者向けのPHP学習に関する質問(週末投稿)

初心者向けのPHP学習に関する質問(週末投稿)

WBOY
WBOYオリジナル
2016-06-13 12:18:22957ブラウズ

php を学ぶ初心者向けの質問 (週末投稿)
678acc04bce8f1458f331cd6445d8a1c
最初の項目の実行結果が 8
でないのはなぜですか-----解決策のアイデア---------- - -----------
浮動小数点数の精度問題

 printf('%0.16f',  (0.1+0.7) * 10 ); // 7.9999999999999991<br /><br />

-----解決案---------- -- -----------

この投稿は xuzuning によって最終編集されました: 2015-04-13 11:10:30 それはあなたが間違っていたからです
( int) は強制的に整数に変換されます。このとき、小数部分のみが切り捨てられ、他の処理は行われません。
echo (int)2.2; //2
echo (int)2.9 ; //2
同様に
echo (int)7.9999999999999991; //7

echo (0.1 0.7) * 10;有効数

--- ---解決策のアイデア----------------------浮動小数点数の精度の問題。
http://segmentfault.com/q/1010000002123613

-----ソリューションのアイデア---------------------- エラー ログを開きます。

------ソリューションのアイデア----------------------デバッグには xdebug をインストールすることをお勧めします

http://www.cnblogs.com/qiantuwuliang/archive/2011/01/23/1942382.html

-----ソリューションのアイデア-------- -- -----------$this はインスタンス化されたオブジェクトです

A::foo() は静的方法でクラスを呼び出すメソッドです
php 将来的には、5.3 で厳密標準レベルのエラー警告が表示される予定です:
非静的メソッド A::foo() は静的に呼び出すべきではありません
非静的メソッドを静的に呼び出すことはできません

初心者の場合、推奨される PHP バージョンは 5.4 以上で、エラー チェック レベルは All です
これにより、良い習慣が身に付きやすくなります
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。