用php写出客户端ip与服务器ip
$_SERVER['REMOTE_ADDR'];
$_SERVER['SERVER_ADDR'];
_FILE__表示什么意思
_FILE__返回所在文件的文件路径+文件名
面试要记牢,记忆的难度不大 没有逻辑性可言
预定义常量
__FILE__、__LINE__、__DIR__、__FUNCTION__、__CLASS__、__TRAIT__、__METHOD__、__NAMESPACE__
__FILE__文件的路径名 文件的名称
__LINE__所在的行号
__DIR__目录
__FUNCTION__所在的函数体
__CLASS_类名
__TRAIT_trait的名称 5.4的新特性
__METHOD__类名+方法名
__NAMESPACE__命名空间
NULL
三种情况
直接赋值为NULL、未定义的变量、unset销毁的变量
常量
定义
const更快
const是语言结构 define是函数
define不能用于类常量的定义,const可以
常量一经定义 不能被修改,不能被删除
const
define
超全局数组
$GLOBALS、$_GET、$_POST、$_REQUEST、$_SESSION、$_COOKIE、$_SERVER、$_FILES、$ENV
$GLOBALS包含所有的内容
$_REQUEST 包含 $_GET、$_POST、$_COOKIE
$_REQUEST 万能钥匙 安全性偏低 尽量少用
$_SERVER['SERVER_ADDR'];ip地址
$_SERVER['SERVER_NAME'];服务器名称
$_SERVER['REQUEST_TIME'];请求时间
$_SERVER['QUERY_STRING'];参数?号后面的
$_SERVER['HTTP_REFERER'];来源页面 可能为空(直接通过网址访问)
$_SERVER['HTTP_USER_AGENT'];头信息
$_SERVER['REMOTE_ADDR'];客户端ip地址
$_SERVER['REQUEST_URI']; 请求的是index.php /index.php
$_SERVER['PATH_INFO'];路由 index.php/后面 user/reg
数据类型
八大数据类型
三大数据类型
标量
浮点类型,浮点类型不能用于比较运算中 不能用于精确的相等的判断 交给 cpu运算 二进制运算会损耗
$a=0.1;$b=0.7; if($a+$b==0.8){false =0.7999 }
布尔类型
false 的7中情况
0 0.0 ‘’ ‘0’ false array() NULL
整型0 浮点0 空字符串 0字符串 布尔false 空数组 NULL
复合
特殊
常量及数据类型
php中字符串可以使用哪三种定义方法以及各自的区别是什么
(php的字符串定义方式及区别是什么)
单引号
双引号
heredoc和newdoc 处理大文本
heredo类似于单引号
$str=<<<'EoT'
EoT;
newdoc类似于双引号
$str=<<<EoT
EoT;
单引号效率高于双引号
单引号
单引号不能解析变量
单引号不能解析转义字符,只能解析单引号和反斜线本身
变量和变量,变量和字符串、字符串和字符串之间可以用.连接
双引号
双引号可以解析变量,变量可以使用特殊字符和{}包含
$str="abcdef'{$a}'gh";
双引号可以解析转义字符
可以用.连接