【PHP入门】1.3-数据类型、转换、判断

简介: 【PHP入门】1.3-数据类型、转换、判断

-数据类型-


数据类型:data type,在


PHP中指的是存储的数据本身的类型,而不是变量的类型。


PHP是一种弱类型语言,变量本身没有数据类型。


1.3.1PHP的八种数据类型

在PHP中将数据分为三大类八小类:


简单(基本)数据类型:4个小类


整型:int/integer,系统分配4个字节存储,表示整数类型(有前提)


浮点型:float/double,系统分配8个字节存储,表示小数或者整型存不下的整数


字符串型:string,系统根据实际长度分配,表示字符串(引号)


布尔类型:bool/boolean,表示布尔类型,只有两个值:true和false


复合数据类型:2个小类


对象类型:object,存放对象(面向对象)


数组类型:array,存储多个数据(一次性)


特殊数据类型:2个小类


资源类型:resource,存放资源数据(PHP外部数据,如数据库、文件)


空类型:NULL,只有一个值就是NULL(不能运算)


1.3.2类型转换

类型转换:在很多的条件下,需要指定的数据类型,需要外部数据(当前PHP取得的数据),转换成目标数据类型


在PHP中有两种类型转换方式:


1、 自动转换:系统根据需求自己判定,自己转换(用的比较多,效率偏低)


2、 强制(手动)转换:认为根据需要的目标类型转换


强制转换规则:在变量之前增加一个括号(),然后在里面写上对应类型:int/integer….其中NULL类型用到unset()


在转换过程中,用的比较多的就是转布尔类型(判断)和转数值类型(算术运算)


其他类型转布尔类型:true或者false,在PHP中比较少类型换变成false

3400951d48b2ea6335d0a0c476bf2c7c_45c7ceeceac6450384fa82453a27c12f.png

其他类型转数值的说明

1、 布尔true为1,false为0;

2、 字符串转数值有自己的规则

2.1 以字母开头的字符串,永远为0;

2.2 以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)

1.3.3类型判断

通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据的数据类型(相同结果为true,失败为false):是一组以is_开头后面跟类型名字的函数:is_XXX(变量名)


Bool类型不能用echo来查看,可以使用var_dump结构查看

Var_dump(变量1,变量2…)

还有一组函数可以用来获取以及设定数据(变量)的类型

Gettype(变量名):获取类型,得到的是该类型对应的字符串

Settype(变量名,类型):设定数据类型:与强制转换不同
1、  强制转换(类型)变量名,是对数据值复制的内容进行处理(不会处理实际存储的内容)
2、  settype会直接改变数据本身

ba9a52f26e6425ea2251a9e2068f45e4_1cef7b50426e4347b7123d300f7f80c5.png

1.3.4整数类型

整数类型:保存整数数值(范围限制),4个字节存储数据,最大就是32位:42亿多。

但是在PHP中默认是有符号类型(区分正负数)

在PHP中提供了四种整型的定义方式:十进制定义,二进制定义,八进制定义和十六进制定义

$a = 120;    //10进制
$a=0b110;    //2进制
$a=0120;     //8进制
$a=0x120;    //16进制

十进制:逢10进1,能够出现的数字是0-9

二进制:逢2进1,能够出现的数字是0-1

八进制:逢8进1,能够出现的数字是0-7

十六进制:逢16进1,能够出现的数字是0-9以及a-f,a表示10,依次类推

进制转换:手动转换

10进制转二进制:除2倒取余法

不管得到的结果如何,需要补足32位:前面补0:00000000 00000000 00000000 00001010

10进制转二进制:取出最大的2的N次方,直到结果为0

二进制到十进制之间的转换:从右侧开始,将对应的第几位作为2的指数,然后将所有的结果相加

PHP中不需要用户这么复杂的去计算,提供了很多的函数进行转换

Decbin():十进制转二进制
Decoct():十进制转八进制
Dechex():十进制转十六进制
Bindec():二进制转十进制


1.3.5浮点类型

浮点型:小数类型以及超过整型所能存储范围的整数(不保证精度),精度范围大概在15个有效数字左右

浮点型定义有两种方式:

$f = 1.23;
$f = 1.23e10;  //科学计数法,其中e表示底10

简单说明浮点数为什么同样的字节数存储数据,但是却能表示更大的数据呢?

00000000 00000000 00000000 00000000 à 11111111 11111111 11111111 1111111 (整形最大值:所有位都是有效数据)


浮点数:红色7位算的结果是10的指数,后面三个字节存储表示具体数值


00000000 00000000 00000000 00000000 à 11111111 11111111 11111111 1111111


尽量不用用浮点数做精确判断:浮点数保存的数据不够精确,而且在计算机中凡是小数基本上存的都不准确

1.3.6布尔类型

布尔类型:两个值true和false,通常是用于判断比较

在进行某些数据判断的时候,需要特别注意类型转换

Empty():判断数据的值是否为“空”,不是NULL,如果为空返回true,不为空返回false
Isset():判断数据存储的变量本身是否存在,存在变量返回true,不存在返回false

83692282c682376f088738a5067ff784_fa75b5157ede4855b362558264303f03.png

相关文章
|
12天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
5天前
|
PHP 开发者
PHP中的面向对象编程:从入门到精通
【9月更文挑战第27天】在这篇文章中,我们将一起探索PHP中的面向对象编程(OOP)的美妙世界。我们将从基础的概念和语法开始,然后深入到更高级的主题,如继承、多态和封装。无论你是PHP新手还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起踏上这段旅程,发现PHP OOP的强大功能吧!
25 8
|
2月前
|
机器学习/深度学习 人工智能 供应链
掌握机器学习:从理论到实践PHP:从入门到精通的旅程
【8月更文挑战第20天】在探索人工智能的无限可能时,机器学习作为核心驱动力,引领着技术革新和产业变革。本文深入浅出地介绍了机器学习的基本概念、核心算法及其在实际中的应用,旨在为初学者提供一个清晰的学习路径和对这一激动人心领域的全面理解。通过探讨机器学习如何影响我们的生活和工作,本文不仅阐述了理论知识,还分享了实践案例,帮助读者把握机器学习的精髓,激发对未来技术发展的想象与创造。
167 65
|
2月前
|
PHP 数据库 C语言
PHP:从入门到精通
【8月更文挑战第21天】本文将带你走进PHP的世界,从基础语法开始,逐步深入到面向对象编程、数据库操作等高级主题。无论你是编程新手还是有一定经验的开发者,都能在这篇文章中找到有价值的信息。我们将一起探索PHP的魅力,看看它是如何改变我们的编程方式的。
135 56
|
9天前
|
前端开发 PHP 数据库
PHP编程入门:从基础到实战
【9月更文挑战第23天】本文将引导你进入PHP编程的世界,从基础知识到实际项目应用,逐步深入。我们将一起探索PHP的基本语法、常用函数和框架使用,以及如何在实际项目中运用PHP进行开发。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上PHP编程的学习之旅吧!
|
14天前
|
SQL 安全 Java
PHP编程之美:从入门到精通
【9月更文挑战第18天】在这篇文章中,我们将一起探索PHP编程语言的魅力和力量。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。我们将从PHP的基本概念开始,然后深入到更复杂的主题,如面向对象编程、数据库交互和安全性等。最后,我们将通过一些实用的代码示例来巩固我们的知识。让我们一起开始这段旅程吧!
31 4
|
14天前
|
PHP 开发者
PHP中的面向对象编程:从入门到实践
本文将通过浅显易懂的语言和实例,引导读者从零开始了解PHP中的面向对象编程(OOP),并逐步深入探讨其核心概念。无论您是PHP初学者还是希望巩固基础的开发者,这篇文章都能帮助您掌握OOP的基本知识和应用。
|
18天前
|
PHP 开发者
PHP中的异常处理:从入门到实践
【8月更文挑战第46天】在编程的世界里,错误和异常是难以避免的。它们如同路上的石头,让我们的步伐变得蹒跚。但是,如果我们学会了如何优雅地处理这些“石头”,我们的代码之旅将变得更加顺畅。本文将引导你了解PHP中异常处理的基本概念,并通过实际示例展示如何捕获和处理异常,让你的代码更加健壮和可靠。
|
24天前
|
存储 前端开发 Linux
深入浅出PHP:从入门到实践
在数字时代的浪潮中,掌握编程技能已成为一项宝贵的资产。本文将带领读者走进PHP的世界,从基础知识到实战应用,一步步揭开编程的神秘面纱。无论你是编程新手还是希望深化对PHP的理解,这篇文章都将为你提供一条清晰的学习路径。让我们一起探索代码的魅力,解锁更多可能!
|
28天前
|
存储 前端开发 PHP
PHP编程之旅:从入门到实战
本文将带你走进PHP的世界,从基础语法到实际开发应用,逐步深入探索PHP的魅力。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到有价值的信息。我们将一起探讨PHP的基本概念、常用功能、以及如何在实际项目中运用PHP进行高效开发。准备好了吗?让我们开始这场PHP编程之旅吧!