2016-09-21 16 views
0

信頼性の高い文字列で計算されますが、文字列PHPは:私は、単純な計算を行うPHPで

$num_1 = '200.50'; (string) 
$num_2 = '100.50'; (string) 

echo $num_1 - $num_2 

結果をどのように私が疑問に思うことは、私が投げていなかったという事実がある100.00

期待されているよう値は浮動しても正しい結果が得られます。
私の質問は、この種の(文字列)計算が信頼できるかどうかです。

+1

「PHP型ジャグリング」と呼ばれています。あなたの2つの文字列は数字の文脈で使用されるので、浮動小数点数に変換されます。 – Rizier123

+0

これを試してみてください---> echo gettype($ num_1 - $ num_2); // –

+0

PHPオートキャスト変数。あなたが文字列varで数学をしようとすると、整数に変換されます。同様に、intに対して文字列演算を試すと、$ a = 2という文字列になります。 $ b = $ a。 '私は今や文字列です。 echo $ b; // "2私は今すぐ文字列です" –

答えて

1

文字列に数字を使用すると信頼できます。アルファベットや特殊文字など、基本的な数学では期待しないものを使用すると、予期しない結果が生じることがあります。

予想される動作と問題を防ぐ方法の詳細については、ジャグリング用のPHPドキュメントを参照してください。

http://php.net/manual/en/language.types.type-juggling.php

+0

こんにちは人 - クイック回答 - スーパー。最初はRizier123だったが、Gooseは最も完全な答えを出した。だから私は彼の答えを受け入れる - 大丈夫ですか? – Ben

+0

グース - 素敵なウェブサイト;-) – Ben

関連する問題