首先看看以下代码:
代码1:
<?php
$a=0.1;
$b=0.7;
if($a+$b==0.8)
{
echo "1";
}
else{
echo "2";
}
?>代码2:
<?php $f = 0.58; var_dump(intval($f * 100)); //为啥输出57 ?>
以上问题引用鸟哥的话就是"你看似有穷的小数, 在计算机的二进制表示里却是无穷的".
但是这都不要紧,因为php还提供了高精度函数库。
解决代码1:
<?php
$a=0.1;
$b=0.7;
if(bcadd($a,$b,1)==0.8)
{
echo "1";
}
else{
echo "2";
}
?>解决代码2:
<?php $f = 0.58; var_dump(bcadd($f * 100,0,0)); ?>
其实在其他语言中也是存在的,例如以下c#
static void Main(string[] args)
{
double a = 0.1;
double b = 0.7;
if (a+b==0.8)
{
Console.WriteLine("ok");
}
else
{
Console.WriteLine("failed!");
}
Console.ReadKey();
} 理解抽象类最快的方法就是使用场景,最近在看布尔PHP视频中看到这样的讲解非常容易懂,分享出来。 假设如下场景: 团队准备开发某网站,表建好了,页面设计好了. ...
PHP的session文件夹默认保存在同一个文件,随着访客的增多,访问的速度会非常慢,例如部分管理系统后台每天登陆1000次,1个月就创建了30000个session文件,一年后是多少?假设这个系统的用户是上万人呢?方法1:每个网站使用自己的session文件夹,代码如下:<?php $pat...
php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/* * 获取当前PHP文件名称 */ if (!function_exists('phpself...
逛公众号文章看到文章"php实现事件监听与触发的方法,你用过吗?",我就好奇了,php又不是asp.net的webform,哪里来的服务端事件监听。于是学习了一波。先看下监听类:class Event { /** &nbs...
xmlrpc协议是通过http请求xml数据进行通信。webservice中和它相同的是soap。soap调用的确很简单,但是创建wsdl太繁琐,效率低下。xmlrpc很好的解决这个问题。(1).创建xmlrpc服务端(求和函数api)function getSum($method,$ar...
<?php $member = new class { public function getInfo() { ...