PHP 的主要数据类型
包括字符串、整型、浮点型、布尔型、数组、对象、资源和空值。
变量的数据类型:PHP 是一种动态类型语言,变量的数据类型在运行时可以根据变量的值自动推断。
类型转换:PHP 支持在不同数据类型之间进行转换,例如将整型转换为字符串,或者将字符串转换为布尔型。
数据类型转换
程序为什么需要转换类型,讲一个经常遇到的例子:你的网站内容比较多,有分页的功能;你在 url 传递一个变量 page 作为表示当前页,但是因为 url 是 get 方式传递的(显式的); 非法用户可能会篡改,你就需要将 page 变量强制转换成整型(Integer),保证程序的安全和良好体验性。
字符串转整型(Integer)
首先了解以下几个类型
- 字符串(String):字符串是一种表示文本数据的类型,可以使用单引号或双引号来定义。在 PHP 中,字符串可以进行连接、截取、查找和替换等操作。
- 整型(Integer):整型是一种表示整数的类型,可以使用十进制、八进制或十六进制表示。在 PHP 中,整型可以进行加减乘除、取模、位运算等操作。
- 浮点型(Float):浮点型是一种表示带小数的数字的类型,可以使用小数点或指数表示。在 PHP 中,浮点型可以进行加减乘除、取模、舍入等操作,但由于浮点数的精度问题,需要注意运算时可能出现的误差。
- 布尔(Boolean):布尔型是一种表示真或假的类型,只有两个值:true 和 false。在 PHP 中,布尔型通常用于条件判断和逻辑运算。
- 数组(Array):数组是一种表示一组有序的数据的类型,可以包含不同类型的数据。在 PHP 中,数组可以使用索引或关联键来访问元素,可以进行增删改查等操作。
- 对象(Object):对象是一种表示一个实例的类型,包含属性和方法。在 PHP 中,对象通常用于面向对象编程。
- NULL(空值):空值是一种表示没有值的类型,一个变量如果没有被赋值,就是空值。在 PHP 中,可以使用 null 关键字来表示空值。
- 资源(Resource):资源是一种表示外部资源的类型,例如打开的文件或数据库连接。在 PHP 中,资源通常由扩展库提供,可以使用特定的函数进行操作。
php转化类型分为两种:自动类型转换和强制类型转换
自动类型转换
1字符串转整型(Integer)
<?php
$nu ='6';
var_dump($nu+8);
输出结果为14
如果使用gettype() 函数则返回变量类型,如图即 integer(整形)
综上
使用 var_dump() 函数可以打印变量类型
使用 gettype() 函数只会返回变量类型(不携带内容)
字符串转浮点型(Float)
<?php
$a='2.66';
$b=$a*10;
Echo var_dimp($b);
强制类型转换
(int),(integer) - 转换成整型
(bool),(boolean) - 转换成布尔型
(float),(double),(real) - 转换成浮点型
(string) - 转换成字符串
(array) - 转换成数组
(object) - 转换成对象
PHP 强制类型转换有三种转换方式:
在要转换的变量之前加上用括号括起来的目标类型,如 (int)$a
使用 3 个具体类型的转换函数,intval、floatval()、strval()
使用通用类型转换函数 settype(mixed var,string type)
- 第一种转换方式:(int) (bool) (float) (string) (array) (object)
- 第二种转换方式:intval() floatval() strval()
- 第三种转换方式:settype()
强制类型转换
Intval() //转为整形
Floatval() //转为浮点型
Strval() //转为字符型
Boolval /转为布尔型
强制类型转换总结
1 .空转化为整型会是0
2.空转化为浮点型变成浮点型的0
3.空转化为字符串会成为空字符串 ‘‘ tip :中间不能有任何字符,包括空格
4.整形如果后面有字符串,会把字符串干掉留下前面的数字
5.浮点型如果后面有字符串,会把字符串干掉留着前面的数字包括小数点以后的
- 判断数据类型常用函数
Is_array ();数组
Is_string();字符串
Is_bool();布尔
Is_float();浮点
ls_object()对象
ls_int();整形
ls_numeric();数值
ls_resource();资源
ls_null();空
ls_scalar();标量