Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP输出分析_Php - Fatal编程技术网

PHP输出分析

PHP输出分析,php,Php,当实际输出为98.8度时,我感到惊讶/困惑 我认为当$data使用(double)时,它会转换为98.8。 然后当移动到(int)时,它变为98并向前移动 但我想我的类比是错误的。有人能给我解释一下输出是如何变成这样的吗?你一直在铸造它,但却转身放弃了结果。$data中的值永远不会更改。尝试该功能。您可能想做的是: <?php $data="98.8degrees"; (double)$data; (int)$data; (string)$data;

当实际输出为98.8度时,我感到惊讶/困惑

我认为当$data使用(double)时,它会转换为98.8。 然后当移动到(int)时,它变为98并向前移动
但我想我的类比是错误的。有人能给我解释一下输出是如何变成这样的吗?

你一直在铸造它,但却转身放弃了结果。
$data
中的值永远不会更改。尝试该功能。

您可能想做的是:

<?php
    $data="98.8degrees"; 
    (double)$data; 
    (int)$data; 
    (string)$data; 
    echo $data; 
?>
语句,因为不清楚您是否/如何定义
$string

正在做什么

(string)$string;
只需返回
double
int
string
值,但它们不会更改。要更改它们,您需要将返回值指定给实际变量,如下所示:

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

将(int)$data替换为$data=(int)$data,它将成为一个整数。否则,您只是转换类型,而不是将该值赋给$data。@这应该是一个粗心的错误
(double)$data; 
(int)$data; 
(string)$data; 
$data = (double)$data; 
$data = (int)$data; 
$data = (string)$data;