PHP变量

252 阅读1分钟

三大类型:

  • 标量:字符串string  整型integer  浮点型float  布尔型boolean
  • 复合:数组array    对象object
  • 特殊:NULL  资源resource

字符串

 定义方式:

  • 单引号 :不能解释变量,不能解释转义字符(可转义 \  ' ),效率更高
  • 双引号  : 可以解释变量、转义字符,可使用特殊字符{}来包含变量
  • heredoc和newdoc:专门定义较长较大的字符串   

$str = <<< DOC
fsdfsdfsadfasdfdfs\n
dsfasdf
DOC;

newdoc就是在DOC加上单引号,DOC标识符可以任意定义。

$str = <<< 'ABC'
fsdfsdfsadfasdfdfs
dsfasdf
ABC;

heredoc可以解释变量、转义字符,newdoc都不可以,跟单双引号一样

浮点型

就是小数,注意!浮点型不能做比较运算

(0.1+0.7) == 0.8      //false;

因为计算机要转为二进制运算,十进制小数转二进制(乘以2,然后取整部分),可能丢失精度。

布尔型

只有两个值 true false  不区分大小写

true === TRUE

注意点  下面七种类型比较为false

var_dump('' == false);     //truevar_dump('0' == false);    //truevar_dump(0 == false);      //truevar_dump(0.0 ==false);     //truevar_dump(array() == false);//truevar_dump(false == false);  //truevar_dump(null == false);   //true

var_dump('0.0' == false);  //false

数组

定义方式

$arr = []; 
$arr = array();

['1','2','3']           //普通数组
[1=>'1',2=>'2',3=>'3']  //索引数组
['a' => 'aa','b'=>'bb'] //关联数组
[
    ['1','2','3'],
    ['2','3','4']   

]                        //多维数组,数组嵌套

PHP的有超全局数组

$GLOBALS

$_COOKIE

$_SESSION

$_SERVER

$_ENV

$_FILES

$_POST

$_GET

$_REQUEST

其中

$_SERVER['SERVER_ADDR']   服务器地址

$_SERVER['REMOTE_ADDR'] 客户端地址

$_SERVER['SERVER_PORT']  服务器端品

$_SERVER['REMOTE_PORT'] 客户端端口

$_SERVER['REQUEST_TIME'] 请求时间

$_SERVER['SERVER_NAME'] 服务器名称

$_SERVER['QUERY_STRING'] 请求参数?后面的

$_SERVER['HTTP_REFERER']  上一个页面的url


NULL

定义

  • 直接赋值NULL
  • 未赋值的变量
  • unset销毁的变量