関数に渡すことができる2.50変数に格納された数値があり、値を認識しますが、それを掛けようとすると答えが得られます。PHP が元の値を切り捨てていると想定し、XML ドキュメントから値を取得しているため、それを文字列として解釈している可能性があると考えましたが、マニュアルには、それが文字列であるかのように正しく認識されると書かれています。誰かがこれに光を当てることができれば、本当に感謝しています。$price2.50242.50
編集:これが私が使用しているコードです-
$Price = new Prices();
// Traverse XML document
foreach ($simpleXML->product as $product) {
// Gather info from the product array
$price = $product->price;
$type = $product->type;
$price = $Price->getRealPrice($price, $type);
}
function getRealPrice($price, $type) {
// echo $price returns 2.50
// Switch statement on type
case 'Keychain':
return 1.7 * $price; // This returns 3.4
break;
}
3.4 が返されているという事実が本当の問題2 * 1.7です2.5。2.5 * 2問題がより明白だったので、元の例を選択しました。
更新:のキャストで1.8 * $priceエコー
すると、これが得られます: 2つのドットはちょっとびっくりします...$pricedouble2.503.6