Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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中从xml文档获取的值相乘时的非真实行为_Php_Xml_Xml Parsing_Multiplication - Fatal编程技术网

将整数值与php中从xml文档获取的值相乘时的非真实行为

将整数值与php中从xml文档获取的值相乘时的非真实行为,php,xml,xml-parsing,multiplication,Php,Xml,Xml Parsing,Multiplication,我用这个脚本来找出每天的访问者和一天的总浏览量 <?xml version="1.0" ?> - <aws:UrlInfoResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/"> - <aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11"> - <aws:UrlInfoResult> - <

我用这个脚本来找出每天的访问者和一天的总浏览量

 <?xml version="1.0" ?> 
- <aws:UrlInfoResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
- <aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11">

- <aws:UrlInfoResult>
- <aws:Alexa>
- <aws:TrafficData>

- <aws:UsageStatistic>
- <aws:TimeRange>
  <aws:Months>1</aws:Months> 
  </aws:TimeRange>
- <aws:Rank>
  <aws:Value>2426210</aws:Value> 
  <aws:Delta>-12536204</aws:Delta> 
  </aws:Rank>
- <aws:Reach>
- <aws:Rank>
  <aws:Value>2757065</aws:Value> 
  <aws:Delta>-12015838</aws:Delta> 
  </aws:Rank>
- <aws:PerMillion>
  <aws:Value>0.4</aws:Value> 
  <aws:Delta>+1200%</aws:Delta> 
  </aws:PerMillion>
  </aws:Reach>
- <aws:PageViews>
- <aws:PerMillion>
  <aws:Value>0.21</aws:Value> 
  <aws:Delta>+4000%</aws:Delta> 
  </aws:PerMillion>
- <aws:Rank>
  <aws:Value>2206561</aws:Value> 
  <aws:Delta>-12826154</aws:Delta> 
  </aws:Rank>
- <aws:PerUser>
  <aws:Value>3</aws:Value> 
  <aws:Delta>+200%</aws:Delta> 
  </aws:PerUser>
  </aws:PageViews>
  </aws:UsageStatistic>
  </aws:UsageStatistics>
  <aws:ContributingSubdomains /> 
  </aws:TrafficData>
  </aws:Alexa>
  </aws:UrlInfoResult>
- <aws:ResponseStatus xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
  <aws:StatusCode>Success</aws:StatusCode> 
  </aws:ResponseStatus>
  </aws:Response>
  </aws:UrlInfoResponse>
一切都很好,直到我发现结果不适合少数域值。然后我尝试回显每个值,发现它忽略了点(.)之后的值

在上述情况下,
$pageview=0.21
的值和输出是
0
,但应该是
2.1


在此方面的任何帮助都将不胜感激

我猜这是从SimpleXMLElement中转换值的方式,至少下面的内容是这样的

<?php
$xml = '
<testdata>
    <foo>1.2</foo>
</testdata>
';

$xml = new SimpleXMLElement($xml);

echo get_class($xml->foo);  //SimpleXMLElement

echo 1.2 * 2;               // 2.4
echo $xml->foo * 2;         // 2
echo (float)$xml->foo * 2;  // 2.4
foo)//单纯形元素
回声1.2*2;//2.4
echo$xml->foo*2;//2.
echo(float)$xml->foo*2;//2.4

收到了,谢谢..我还找到了php中一个名为floatval()的函数,它也有同样的功能。。谢谢
[Like for example]
.02=>0
.100=>0
1.02=>1
<?php
$xml = '
<testdata>
    <foo>1.2</foo>
</testdata>
';

$xml = new SimpleXMLElement($xml);

echo get_class($xml->foo);  //SimpleXMLElement

echo 1.2 * 2;               // 2.4
echo $xml->foo * 2;         // 2
echo (float)$xml->foo * 2;  // 2.4