1.php字符串定义方式和各自区别
(1)单引号 :不能解析变量,转义字符,只能解析单引号和反斜杠本身('\\'),单引号效率更高,所以想解析变量可以点连接($str='a b c '.$a.'e';)($str=' \' ';输出单引号 ' )。
(2)双引号:能解析变量,效率相对不高。
(3)用于处理大文本字符串:Heredoc(类似于双引号)
Newdoc(类似于单引号)
2.三大数据类型(标量、复合、特殊)
(1)标量:浮点,整型,字符串,布尔
注意float类型不能用于比较运算(=)
<?php
function quote(){
$a=floatval(0.01);
$b=floatval(0.09);
if($a+$b==0.1){
return '等于';
}
return '不等于';
}
print_r(quote()); //不等于
?>
false的七种情况:0 、0.0、''、'0'、flase 、NULL、array()
(2)复合:数组和对象
数组考察:超全局数组
$GLOBALS:方法中访问全局变量
<?php
$a = 1;
function quote(){
return $GLOBALS['a'];
}
print_r(quote()); //输出1
?>
$_POST:接收post数据
$_GET:接收get数据
$_REQUEST:用于收集HTML表单提交的数据
$_SESSION:接收session数据
$_COOKIE:接收cookie数据
$_SERVER:
<?php
function quote(){
print_r($_SERVER['SERVER_ADDR']);echo '</br>';//服务器ip
print_r($_SERVER['SERVER_NAME']);echo '</br>';//服务器主机名
print_r($_SERVER['REQUEST_TIME']);echo '</br>';//请求开始时的时间戳。
print_r($_SERVER['QUERY_STRING']);echo '</br>';//http://localhost/A.php?id=1&name=小云云,获取问号后的一串
print_r($_SERVER['REMOTE_ADDR']);echo '</br>';//客户端ip(浏览当前页面的用户的 IP 地址。)
print_r($_SERVER['REQUEST_URI']);echo '</br>';//http://localhost/A.php?id=1&name=%E5%B0%8F%E4%BA%91%E4%BA%91,获取/A.php?id=1&name=%E5%B0%8F%E4%BA%91%E4%BA%91
}
quote();
?>
$_FILES:用来获取通过 POST 方法上传文件的相关信息
$_ENV:一个包含服务器端环境变量的数组
(3)特殊:NULL,resource
输出为NULL的三种情况:赋值为NULL;unset()销毁的变量;未定义的变量
(4)常量
定义常量:define:函数,不能用于类常量的定义
const:语言结构,更快,用于类常量的定义,用self::CHANGLIANG取值
<?php
class A{
function quote(){
print_r(__FILE__);echo '</br>';//获取文件位置
print_r(__DIR__);echo '</br>';//当前文件所在文件夹
print_r(__FUNCTION__);echo '</br>';//方法名
print_r(__CLASS__);echo '</br>';//class名
print_r(__LINE__);echo '</br>';//当前行数
print_r(__METHOD__);echo '</br>';//class名::方法名(A::quote)
print_r(__NAMESPACE__);echo '</br>';//命名空间
}
}
$obj=new A();
$obj->quote();
?>