$databtcguild = file_get_contents('http://btcguild.com');
preg_match('~<b>Pool Speed</b></a> (.*?) TH/s~',$databtcguild,$btcguild);
$btcguildhashrategh = ($btcguild[1] * 1000);
echo $btcguildhashrategh;
echo "<br>";
echo $btcguild[1];
由于某种原因,此代码输出了错误的答案。例如,$ btcguild [1]将等于12,747,此代码将输出12000.我完全迷失在这里。谢谢你的帮助。
答案 0 :(得分:1)
&#34;哈希速度&#34;您从该网站提取的值的值为逗号:
12747
PHP需要将此字符串转换为数字值,逗号导致返回数值12
(,
被解释为小数)
确保在乘以之前删除所有非数字字符:
//keep only values 0-9 and decimal (period)
$hash_speed = preg_replace("/[^0-9.]/", "", $btcguild[1]);
$btcguildhashrategh = ($hash_speed * 1000); //returns 12747000
答案 1 :(得分:-2)
尝试显式地输入结果:$btcguildhashrategh = ((double)$btcguild[1] * 1000);
否则PHP会将其转换为int
。