×
新网 > 虚机资讯 > 正文

每日练习

  • 作者:未知
  • 来源:
  • 2018-04-26 18:33:01

例如,floor((0.1+0.7)*10)通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9。 这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3。 所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。

 

如果你仔细看过在PHP手册中,对于浮点数据类型的说明,就会看到其中有专门的一个警告提示,就谈到这个问题:
关于浮点数精度的警告
显然简单的十进制分数如同 0.1 或 0.7不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:
例如,floor((0.1+0.7)*10)通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9。
这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3。
所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。

002UASMrzy7605pjKJv15&690.jpg

2、在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;获取服务器管理员邮箱在预定义变量(2)中。

echo $_SERVER[\'PHP_SELF\'];

echo $_SERVER["SERVER_ADMIN"];

总结下$_SERVER这个超级变量

$_SERVER[\'PHP_SELF\'] #当前正在执行脚本的文件名,与 document root相关。

$_SERVER[\'argv\'] #传递给该脚本的参数。

$_SERVER[\'argc\'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。

$_SERVER[\'GATEWAY_INTERFACE\'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。

$_SERVER[\'SERVER_NAME\'] #当前运行脚本所在服务器主机的名称。

$_SERVER[\'SERVER_SOFTWARE\'] #服务器标识的字串,在响应请求时的头部中给出。

$_SERVER[\'SERVER_PROTOCOL\'] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

$_SERVER[\'REQUEST_METHOD\'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

$_SERVER[\'QUERY_STRING\'] #查询(query)的字符串。

$_SERVER[\'DOCUMENT_ROOT\'] #当前运行脚本所在的文档根目录。在服务器配置文件中定义。

$_SERVER[\'HTTP_ACCEPT\'] #当前请求的 Accept: 头部的内容。

$_SERVER[\'HTTP_ACCEPT_CHARSET\'] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。

$_SERVER[\'HTTP_ACCEPT_ENCODING\'] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。

$_SERVER[\'HTTP_ACCEPT_LANGUAGE\']#当前请求的 Accept-Language: 头部的内容。例如:“en”。

$_SERVER[\'HTTP_CONNECTION\'] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。

$_SERVER[\'HTTP_HOST\'] #当前请求的 Host: 头部的内容。

$_SERVER[\'HTTP_REFERER\'] #链接到当前页面的前一页面的 URL 地址。

$_SERVER[\'HTTP_USER_AGENT\'] #当前请求的 User_Agent: 头部的内容。

$_SERVER[\'HTTPS\'] — 如果通过https访问,则被设为一个非空的值(on),否则返回off

$_SERVER[\'REMOTE_ADDR\'] #正在浏览当前页面用户的 IP 地址。

$_SERVER[\'REMOTE_HOST\'] #正在浏览当前页面用户的主机名。

$_SERVER[\'REMOTE_PORT\'] #用户连接到服务器时所使用的端口。

$_SERVER[\'SCRIPT_FILENAME\'] #当前执行脚本的绝对路径名。

$_SERVER[\'SERVER_ADMIN\'] #管理员信息

$_SERVER[\'SERVER_PORT\'] #服务器所使用的端口

$_SERVER[\'SERVER_SIGNATURE\'] #包含服务器版本和虚拟主机名的字符串。

$_SERVER[\'PATH_TRANSLATED\'] #当前脚本所在文件系统(不是文档根目录)的基本路径。

$_SERVER[\'SCRIPT_NAME\'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。

$_SERVER[\'REQUEST_URI\'] #访问此页面所需的 URI。例如,“/index.html”。

 

3、执行程序段<?php echo 8%(-2) ?>将输出(3)

0

 

4.php中简单的短路问题

$a=3; $b=5; if($a=5||$b=5){ $a++; $b++; } echo$a;

可以看成bool ? 表达式1 : 表达式2 这里的bool是($a=5||$b=5)看清楚里面是赋值,当判断$a=5 恒成立,则返回$a 值为1 ,而忽视了后面的$b赋值,然后通过 $b++;输出 1---4

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading