0
<?php
    $data="98.8degrees"; 
    (double)$data; 
    (int)$data; 
    (string)$data; 
    echo $data; 
?>

実際の出力が98.8度だったのには驚き/戸惑いました

$data が (double) を使用すると、98.8 に変換されると思いました。それから (int) に移動すると 98 となります。しかし、私の類推は間違っていると思います。誰かが出力がどのようになったかを説明できますか?

4

3 に答える 3

1

やっている

(double)$data; 
(int)$data; 
(string)$data; 

doubleintおよび値を返すだけstringですが、変更されません。それらを変更するには、次のように戻り値を実際の変数に割り当てる必要があります。

$data = (double)$data; 
$data = (int)$data; 
$data = (string)$data; 
于 2013-06-18T02:41:27.667 に答える
0

あなたはそれをキャストし続けますが、向きを変えて結果を破棄します。の値は$data決して変化しません。機能をお試しくださいsettype()

于 2013-06-18T02:39:32.417 に答える
0

おそらくあなたがするつもりだったのは:

<?php
    $data="98.8degrees"; 
    $data=(double)$data; 
    $data=(int)$data; 
    echo $data; 
?>

操作の結果を保持しないと、操作の結果が表示されません...

ああ、あなたが

(string)$string;

ステートメント、定義したかどうか/どのように定義したかが不明であるため$string...

于 2013-06-18T02:40:58.817 に答える