1、 php数据类型
主要分为标量和复合数据类型
标量:整型,字符串,布尔,浮点
复合:array,object,resource
2、单引号和双引号的区别
单引号和双引号都可以创建字符串,但是在单引号中输入的内容不会解析会直接输出你所输入的
内容,相应的执行的速度会快一些;而双引号则会解析你所写入的内容 其速度相对较慢。
双引号有一个编译器解析的过程,他需要思考你写进去的东西有没有深层次的含义,所以速度会比较慢。
PHP引号使用总结:
1.字符串的值用引号;
2.PHP中尽量用单引号,HTML代码全部用双引号;
3.在包含变量的时候,用双引号可以简化操作;
4.复杂的情况下用大括号包起来;
3、类型转换
将原来的数据类型转换成我们所需要的类型。
自动类型转换
$num = 123; echo $num;// echo 只能输出字符串,如果有其他类型的会自动转换为字符串型,如果有无法转的则会报错
强制转换
非永久转换
非永久转换是指并不会改变原来的值本身。非永久转换也可以分为两种方式转换:
1.数据类型val()函数
$num = 123;
$resB = boolval($num);
$resS = strval($num);
$resF = floatval($num);
var_dump($num);
var_dump($resB);
var_dump($resS);
var_dump($resF);
2.(数据类型) 变量
$num = 123;
$resB = (boolean)$num;
$resS = (string)$num;
$resF = (float)$num;
var_dump($num);
var_dump($resB);
var_dump($resS);
var_dump($resF);
永久转换 settype(变量,数据类型)
$res1 = settype($num, 'string');
// settype($num, 'boolean');
// settype($num, 'float');
var_dump($res1); // 这个代表的是settype转换是否成功,结果为布尔类型
var_dump($num); // 最终改变的是原来的变量
默认值
所谓的默认值就是在创建某个类型的变量却不指定其值时而默认就存在的值。
- 不确定类型时的默认值(null):
- 数值类型时的默认值(0):
- 字符串的默认值是(” ”);
- 布尔类型的默认值是(假);
- 数组的默认值是(0);
预定义变量
预定义变量:预先(在编写php语言的时候)就已经定义好的变量。
$GLOBALS — 引用全局作用域中可用的全部变量
$_SERVER — 服务器和执行环境信息
$_GET — HTTP GET 变量
$_POST — HTTP POST 变量
$_FILES — HTTP 文件上传变量
$_REQUEST — HTTP Request 变量
$_SESSION — Session 变量
$_ENV — 环境变量
$_COOKIE — HTTP Cookies
$php_errormsg — 前一个错误信息
$HTTP_RAW_POST_DATA — 原生POST数据
$http_response_header — HTTP 响应头
$argc — 传递给脚本的参数数目
$argv — 传递给脚本的参数数组
常量
常量可以理解为值不变的量;或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。
常量主要功效是可以避免重复定义,篡改值。
define(常量名, 值) 其返回值是布尔类型
define('NAME', 'jack');
echo NAME; // 常量的获取直接写出常量的名称就可以了
$res = defined('NAME');// 判断一个常量是否被定义需要使用 defined 函数,里面写上函数的名称 则可(字符串形式)
var_dump($res);// 结果是布尔类型,当结果存在则返回 true ,不存在则返回 false
预定义常量
FILE:文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
DIR:文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
FUNCTION:函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
CLASS:类名
访问用__CLASS__