博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每日练习
阅读量:6041 次
发布时间:2019-06-20

本文共 2221 字,大约阅读时间需要 7 分钟。

hot3.png

1、求解intval((0.1+0.7)*10)?

7

如果你仔细看过在PHP手册中,对于浮点数据类型的说明,就会看到其中有专门的一个警告提示,就谈到这个问题:

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

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[''] #链接到当前页面的前一页面的 URL 地址。

$_SERVER[''] #当前请求的 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

转载于:https://my.oschina.net/u/1421356/blog/223541

你可能感兴趣的文章
实例168 使用指针输出数组元素
查看>>
bind 与unbind
查看>>
CSS: Flexbox
查看>>
Python学习
查看>>
Java并发_volatile实现可见性但不保证原子性
查看>>
百度地图添加带数字标注
查看>>
【luogu 1908】逆序对
查看>>
pthread_create线程创建的过程剖析(转)
查看>>
android存储访问框架Storage Access Framework
查看>>
周总结
查看>>
Spring Boot 要点--启动类和热部署
查看>>
Maven配置及本地仓库设置
查看>>
PAT L2-001 紧急救援 —— (多参数最短路)
查看>>
JDK(java se development kit)的构成
查看>>
数据库的备份与恢复
查看>>
Android示例程序剖析之记事本(一)
查看>>
为什么英雄难过美人关?
查看>>
poj 3009 Curling 2.0
查看>>
Tomcat7安装配置 for Ubuntu
查看>>
Linux:命令执行控制&&与||
查看>>