単純な変数の問題
$d="123.45";
$e=settype($d,float);
echo "$d
";
var_dump($d);
echo "
$e
";
var_dump($e);
echo "
";
?> ;
出力 $e が 1 になるのはなぜですか?分かりません、
-----解決策----------
$e は settype の実行結果が true の場合成功すると、 1
settype($d,"float"); が出力されます。
------解決策-----
浮動小数点なので、var_dump($d);印刷結果は浮動小数点数ではないでしょうか?実行前に、文字列 type
の実行結果が $d
$e に格納されます。これは settype 関数の実行結果であり、実行が成功または失敗したため、var_dump($e) の結果は次のようになります。ブール値
------解決策----------------------
関数の戻り結果を確認する必要があります、想像してみてください...
この関数は、設定された関数の種類を返す代わりに、実行が成功したかどうかを知らせるために TRUE または FALSE を返します...
------解決策----------------------
settype -- 変数の型を設定します
説明
bool settype (mixed var, string type)
変数 var の型を type に設定します。
type の可能な値は次のとおりです:
"boolean" (または PHP 4.2.0 以降は "bool")
"integer" (または "int "、PHP 4.2.0 以降)
"float" (PHP 4.2.0 以降でのみ使用可能、古いバージョンで使用されていた "double" は非推奨になりました)
"string"
"array"
"object"
"null" (PHP 4.2.0 より)
成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。