1.八种数据类型:integer float string Boolean array() object null resource
2.伪类型:mixed 一个参数可以接收多个参数,gettype() 获取所有的类型 ,str_replace()接收数组和字符串
number 数字类型 void 不接受任何参数 callback 回调函数
3.强转:整型 intval() 字符串 strval() settype($var ,类型)强转函数
4.PHP超全局变量$_SERVER
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
- $_SERVER['HTTP_HOST'] 请求头信息中的Host内容,获取当前域名。
- $_SERVER["SERVER_NAME"] 输出配置文件httpd.conf中的ServerName,一般情况下与HTTP_HOST值相同,但如果服务器端口不是默认的80端口,或者协议规范不是HTTP/1.1时,HTTP_HOST会包含这些信息,而SERVER_NAME不一定包含。(主要看配置文件的设置)。
- $_SERVER["HTTP_USER_AGENT"] 获取用户相关信息,包括用户浏览器、操作系统等信息。
- $_SERVER['HTTP_ACCEPT'] 当前请求的ACCEPT头部信息。
- $_SERVER["HTTP_ACCEPT_LANGUAGE"] 这个值是由浏览器发送,表明用户默认的语言设置,后面的q值表示用户对该语言的喜好程度。
- $_SERVER["HTTP_ACCEPT_ENCODING"] 大部分的现代浏览器都支持gzip压缩,并会把这一信息报告给服务器。这时服务器就会压缩过的HTML发送给浏览器。这可以减少近80%的文件大小,以节省下载时间和带宽。
- $_SERVER["HTTP_COOKIE"] 浏览器的cookie信息。
- $_SERVER["HTTP_CONNECTION"] 当前请求的连接情况。
- $_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"] 表示浏览器可读懂服务器发过来的请求,
- $_SERVER["HTTP_CACHE_CONTROL"] 表示浏览器是否会缓存这个页面信息。
- $_SERVER["PATH"] 当前脚本所在文件系统。
- $_SERVER["SystemRoot"] 当前服务器的操作系统。
- $_SERVER["COMSPEC"] 指向cmd.exe的路径。
- $_SERVER["PATHEXT"] 环境变量设置。
- $_SERVER["WINDIR"] 脚本指向的系统目录。
- $_SERVER["SERVER_SIGNATURE"] 包含服务器版本和虚拟主机名的字符串。
- $_SERVER["SERVER_SOFTWARE"] 服务器软件配置信息。
- $_SERVER["SERVER_ADDR"] 当前运行脚本的服务器的ip地址。
- $_SERVER["SERVER_PORT"] 服务器端口。
- $_SERVER["REMOTE_ADDR"] 浏览网页的用户ip。
- $_SERVER["DOCUMENT_ROOT"] 当前运行脚本所在的根目录。
- $_SERVER["REQUEST_SCHEME"] 服务器通信协议,是http或https。
- $_SERVER["CONTEXT_PREFIX"] 前缀。
- $_SERVER["CONTEXT_DOCUMENT_ROOT"] 当前脚本所在的文档根目录。
- $_SERVER["SERVER_ADMIN"] 服务器管理员信息。
- $_SERVER["SCRIPT_FILENAME"] 当前执行脚本的绝对路径。
- $_SERVER ["REMOTE_PORT"] 用户连接到服务器时所使用的端口。
- $_SERVER["GATEWAY_INTERFACE"] 服务器使用的CGI规范的版本。
- $_SERVER["SERVER_PROTOCOL"] 请求页面时通信协议的名称和版本。
- $_SERVER["REQUEST_METHOD"] 请求提交数据的方式。
- $_SERVER["QUERY_STRING"] 服务器请求时?后面的参数。
- $_SERVER["REQUEST_URI"] 当前脚本路径,根目录之后的目录。
- $_SERVER["SCRIPT_NAME"] 当前脚本的路径。这在页面需要指向自己时非常有用。
- $_SERVER["PHP_SELF"] 当前正在执行脚本的文件名。
- $_SERVER["REQUEST_TIME"] 得到请求开始时的时间戳。
- 五. PHP中的$_ENV存储了一些系统的环境变量,因为牵扯到实际的操作系统,所以不可能给出$_ENV的完整列表。
- $_ENV为空的可能原因:
-
你的php.ini的variables_order值为"GPCS",也就是说系统在定义PHP预定义变量时的顺序是 GET,POST,COOKIES,SERVER,没有定义Environment(E),你可以修改php.ini文件的 variables_order值为你想要的顺序,如:"EGPCS"。这时,$_ENV的值就可以取得了。
EGPCS是Environment、Get、Post、Cookies、Server的缩写,这是PHP中外部变量来源的全部范围,可以用print_r($_ENV)来打印这个变量,查看他的数据。
注意,生产环境下,$_ENV都是空数组,主要是为了安全起见,不让它获取操作系统信息!
$_ENV,作为PHP的9个超级变量($GLOBALS,$_SERVER,$_GET,$_POST,$_COOKIE,$_FILES,$_ENV,$_REQUEST,_SESSION)中的一个, 不用它真是有点浪费,所以说你会看到DiscuzX系统就“重用”了这个 超全局变量。