搜索
首页后端开发php教程PHP基础教程二之基本数据类型

本节讲解的内容

  • php的简单介绍

  • php的四种标签格式

  • php的变量

  • php的基础数据类型

PHP的简单介绍

  php是开源的脚本语言,主要用于web开发,语法吸收了C语言,Java和perl的特点,利于学习,使用广泛,用php做出来的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行速度更快。

PHP的四种标签格式

当php的代码写到固定的格式中时,解析器才会去执行php代码,而常见的PHP标签有四种:

这里写图片描述

我们一般用的是第一种格式。也是最常见的格式。

PHP变量

  变量:是指没有固定的值,可以改变的数。

  而我们创建变量的目的是:为了存放数据,以便后来对数据进行操作。

  变量名的命名规则:必须是数字,字母,下划线组成的且不能以数字开头的。

常用命名规则:

  • 驼峰式命名法:username->>>userName: 从第二个单词开始,首字母大写

  • 帕斯卡命名法:username->>>UserName:每个单词的首字母大写

  • 下划线命名法:username->>>user_name:单词都是小写,单词之间用下划线隔开常用命名规则:

在以后的函数名的命名规则也可以归纳为这三点。

PHP的变量名有个特点:变量的前面必须加一个$符号,也就是shift + 4;同时为了开发方便,变量的名字一般要有含义。

PHP基本数据类型

  大多数语言语言,都是有数据类型这个说法,数据类型可以把我们在开发中使用到的数据进行分类,也是为了更好的管理吧。

PHP的基本数据类型分类:

  • 基本数据类型: 整型(int/integer), 浮点型(float/double), 布尔型(bool/boolean), 字符串(string)

  • 复合数据类型: 数组(array), 对象(object)

  • 特殊数据类型: 空(null), 资源(resource)

整型数据类型

  整型数据类型,就是我们平常使用的负整数,正整数等;

PHP中的整型可以是八进制(逢八进一)、十进制、十六进制(逢十六进一)。

$a = 2; //十进制
$a = 023;//八进制
$a = 0x23;//十六进制

八进制:前面有一个0,表示是八进制。

十六进制:前面有两个0x,表示是十六进制。

整型的大小有一个限度。而PHP的整型的字长和平台有关,一般是4个字节,而4个字节是32位,所以一般PHP的长度是2的31次方,其中有一位代表符号位。

在PHP中可以用系统常量PHP_INT_MAX得到最大值。但是当整型的值超过最大值的时候,就会自动转换成float类型。

注意:PHP中不支持无符号数。

浮点型数据类型

  浮点型数据类型,就是我们通常说的小数。也叫作双精度或者实数。

字符串的字长也和平台有关,一般是1.8e308,并具有14位十进制数字的精度。而小数的精度一般是从左起第一个非0的数字开始计算的。

echo 123456.78912345123;//输出结果123456.78912345--最后面的123四舍五入掉

echo 0000123456789.256486587441;//输出结果123456789.25649--6587441四舍五入向前进一位8变9

关于浮点型的比较,要根据不同的情况进行处理

  1. 如果两个浮点数是直接赋值的,可以直接比较。

  2. 如果两个浮点数有一个,或者多个是运算后得的的结果,需要使用abs或者round函数扩大倍数后比较.

布尔数据类型

  布尔数据类型也就是真(true)或者假(false),但是除了这两种形式,当其他的数据类型的值在某个条件也是有真假的。

一下的情况都会当成false:

  • 整型值0

  • 浮点型值0.0

  • 空字符串和字符串‘0’

  • 不包括任何元素的数组

  • 不包括任何成员的对象

  • 特殊类型null

  • 从空标记生成的SimpleXML对象。

字符串数据类型

  字符串就是一系列字符加上引号组成的,而PHP中字符串最大可以使2GB;

在开发中我们经常会使用到字符串,而关于字符串的定义方式,大致可以分为四种:

  • 单引号

  • 双引号

  • Heredoc(双引号)

  • nowdoc(单引号)

单引号:当字符串定义了单引号时,解析器不会对字符串中的变量进行解析。而是直接输出。

$a = 12;
$b = '这是一个单引号$a';
echo $b;
-----结果------
这是一个单引号$a

双引号:解析器会对字符串中的变量进行解析。

$a = 12;
$b = "这是一个单引号$a";
echo $b;
-----结果------
这是一个单引号12

Heredoc:当定义的字符串过长的时候,可以考虑使用者中方式,这种方式会对字符串中的变量进行解析。

$a = 12;
$b = <<<EOP//这个大写字母的定义可以随意。
这是一个hereDoc的类型$a;
EOP;
echo $b;
-----结果------
这是一个hereDoc的类型12;

注意:EOP的前后不能有空格或其他任何的字符

nowdoc:这种方式不会对字符串中的变量进行解析。

$a = 12;
$str = <<<&#39;COO&#39;
    这是一个nowDoc$a;
COO;
echo $str;
-----结果------
这是一个nowDoc$a;

基本数据类型转换

  数据类型就是从一种类型转换到另外一种类型。转换一般可以分为两种自动类型转换、强制类型转换

在一般情况下,当我们不知道数据是什么类型的时候可以使用var_dump(),这个函数可以打印数据的具体信息,其中就包括数据的类型。而PHP帮助文档中又提供了一种方式得到数据的类型getType()但是文档中明确表示不推荐使用:

这里写图片描述

自动类型转换

  在前面介绍过,当整型的数据越过它的范围的时候,它就会自动转换成浮点型类型。这种自动完成的类型转换就是自动类型转换。
自动类型转换的场景:

整型数过大,自动转换成浮点型。

$a = PHP_INT_MAX;//表示整型的最大值
var_dump($a); //输出$a的类型
$a = PHP_INT_MAX + 1; //$a的值大于整型的最大值。
var_dump($a);
-----结果------
int(2147483647) float(2147483648)

当进行数值运算的时候,经常发生自动类型转换。

$a = 1; //整型
$b = 3.14; //浮点型
$res = $a + $b; //计算两个数的和
var_dump($res); //输出类型
-----结果------
float(4.14)

$a = 10;//整型
$b = 4;//整型
$res = $a / $b; //相除
var_dump($res);
-----结果------
float(2.5)

强制类型转换

  当我们想强制把当前的类型转换成其他类型的时候,可以使用强制类型转换:

使用bool settype ( mixed &

type )

$a = 100; //整型
settype($a, &#39;float&#39;);//强制类型转换
var_dump($a);
-----结果------
float(100)

$type的可能值是:

  1. “boolean” (或为“bool”,从 PHP 4.2.0 起)

  2. “integer” (或为“int”,从 PHP 4.2.0 起)

  3. “float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)

  4. “string”

  5. “array”

  6. “object”

  7. “null” (从 PHP 4.2.0 起)

使用类型

$a = 200;
$b = (string)$a;
var_dump($b);
-----结果------
string(3) "200"

使用函数得到对应的数据类型,比如intval , floatval ,boolval, strval

$a = 12.923;//浮点型
$b = intval($a);
var_dump($b);
-----结果------
int(12)

注意:当浮点型转换成整型的时候,会自动忽略小数点后的数,并不会四舍五入。

NULL数据类型

  NULL:表示一个变量没有值,NULL 类型唯一可能的值就是 NULL。

在下列情况下一个变量被认为是 NULL:

  • 被赋值为 NULL

  • 尚未被赋值

  • 被 unset()

其他的数据类型,数组,对象,资源在后面会介绍。

特别说明:在PHP中当我们想输出一个数的时候,可以使用echo进行输出,而字符串连接使用一个点.表示。也可以通过var_dump()进行输出,var_dump()可以输出当前数据的类型是什么。

总结

  基本数据类型使我们必须要掌握的,在以后的开发中,我们操作的数据都是基本数据类型。

本节讲解的内容

  • php的简单介绍

  • php的四种标签格式

  • php的变量

  • php的基础数据类型

PHP的简单介绍

  php是开源的脚本语言,主要用于web开发,语法吸收了C语言,Java和perl的特点,利于学习,使用广泛,用php做出来的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行速度更快。

PHP的四种标签格式

当php的代码写到固定的格式中时,解析器才会去执行php代码,而常见的PHP标签有四种:

这里写图片描述

我们一般用的是第一种格式。也是最常见的格式。

PHP变量

  变量:是指没有固定的值,可以改变的数。

  而我们创建变量的目的是:为了存放数据,以便后来对数据进行操作。

  变量名的命名规则:必须是数字,字母,下划线组成的且不能以数字开头的。

常用命名规则:

  • 驼峰式命名法:username->>>userName: 从第二个单词开始,首字母大写

  • 帕斯卡命名法:username->>>UserName:每个单词的首字母大写

  • 下划线命名法:username->>>user_name:单词都是小写,单词之间用下划线隔开常用命名规则:

在以后的函数名的命名规则也可以归纳为这三点。

PHP的变量名有个特点:变量的前面必须加一个$符号,也就是shift + 4;同时为了开发方便,变量的名字一般要有含义。

PHP基本数据类型

  大多数语言语言,都是有数据类型这个说法,数据类型可以把我们在开发中使用到的数据进行分类,也是为了更好的管理吧。

PHP的基本数据类型分类:

  • 基本数据类型: 整型(int/integer), 浮点型(float/double), 布尔型(bool/boolean), 字符串(string)

  • 复合数据类型: 数组(array), 对象(object)

  • 特殊数据类型: 空(null), 资源(resource)

整型数据类型

  整型数据类型,就是我们平常使用的负整数,正整数等;

PHP中的整型可以是八进制(逢八进一)、十进制、十六进制(逢十六进一)。

$a = 2; //十进制
$a = 023;//八进制
$a = 0x23;//十六进制

八进制:前面有一个0,表示是八进制。

十六进制:前面有两个0x,表示是十六进制。

整型的大小有一个限度。而PHP的整型的字长和平台有关,一般是4个字节,而4个字节是32位,所以一般PHP的长度是2的31次方,其中有一位代表符号位。

在PHP中可以用系统常量PHP_INT_MAX得到最大值。但是当整型的值超过最大值的时候,就会自动转换成float类型。

注意:PHP中不支持无符号数。

浮点型数据类型

  浮点型数据类型,就是我们通常说的小数。也叫作双精度或者实数。

字符串的字长也和平台有关,一般是1.8e308,并具有14位十进制数字的精度。而小数的精度一般是从左起第一个非0的数字开始计算的。

echo 123456.78912345123;//输出结果123456.78912345--最后面的123四舍五入掉

echo 0000123456789.256486587441;//输出结果123456789.25649--6587441四舍五入向前进一位8变9

关于浮点型的比较,要根据不同的情况进行处理

  1. 如果两个浮点数是直接赋值的,可以直接比较。

  2. 如果两个浮点数有一个,或者多个是运算后得的的结果,需要使用abs或者round函数扩大倍数后比较.

布尔数据类型

  布尔数据类型也就是真(true)或者假(false),但是除了这两种形式,当其他的数据类型的值在某个条件也是有真假的。

一下的情况都会当成false:

  • 整型值0

  • 浮点型值0.0

  • 空字符串和字符串‘0’

  • 不包括任何元素的数组

  • 不包括任何成员的对象

  • 特殊类型null

  • 从空标记生成的SimpleXML对象。

字符串数据类型

  字符串就是一系列字符加上引号组成的,而PHP中字符串最大可以使2GB;

在开发中我们经常会使用到字符串,而关于字符串的定义方式,大致可以分为四种:

  • 单引号

  • 双引号

  • Heredoc(双引号)

  • nowdoc(单引号)

单引号:当字符串定义了单引号时,解析器不会对字符串中的变量进行解析。而是直接输出。

$a = 12;
$b = &#39;这是一个单引号$a&#39;;
echo $b;
-----结果------
这是一个单引号$a

双引号:解析器会对字符串中的变量进行解析。

$a = 12;
$b = "这是一个单引号$a";
echo $b;
-----结果------
这是一个单引号12

Heredoc:当定义的字符串过长的时候,可以考虑使用者中方式,这种方式会对字符串中的变量进行解析。

$a = 12;
$b = <<<EOP//这个大写字母的定义可以随意。
这是一个hereDoc的类型$a;
EOP;
echo $b;
-----结果------
这是一个hereDoc的类型12;

注意:EOP的前后不能有空格或其他任何的字符

nowdoc:这种方式不会对字符串中的变量进行解析。

$a = 12;
$str = <<<&#39;COO&#39;
    这是一个nowDoc$a;
COO;
echo $str;
-----结果------
这是一个nowDoc$a;

基本数据类型转换

  数据类型就是从一种类型转换到另外一种类型。转换一般可以分为两种自动类型转换、强制类型转换

在一般情况下,当我们不知道数据是什么类型的时候可以使用var_dump(),这个函数可以打印数据的具体信息,其中就包括数据的类型。而PHP帮助文档中又提供了一种方式得到数据的类型getType()但是文档中明确表示不推荐使用:

这里写图片描述

自动类型转换

  在前面介绍过,当整型的数据越过它的范围的时候,它就会自动转换成浮点型类型。这种自动完成的类型转换就是自动类型转换。
自动类型转换的场景:

整型数过大,自动转换成浮点型。

$a = PHP_INT_MAX;//表示整型的最大值
var_dump($a); //输出$a的类型
$a = PHP_INT_MAX + 1; //$a的值大于整型的最大值。
var_dump($a);
-----结果------
int(2147483647) float(2147483648)

当进行数值运算的时候,经常发生自动类型转换。

$a = 1; //整型
$b = 3.14; //浮点型
$res = $a + $b; //计算两个数的和
var_dump($res); //输出类型
-----结果------
float(4.14)

$a = 10;//整型
$b = 4;//整型
$res = $a / $b; //相除
var_dump($res);
-----结果------
float(2.5)

强制类型转换

  当我们想强制把当前的类型转换成其他类型的时候,可以使用强制类型转换:

使用bool settype ( mixed &

type )

$a = 100; //整型
settype($a, &#39;float&#39;);//强制类型转换
var_dump($a);
-----结果------
float(100)

$type的可能值是:

  1. “boolean” (或为“bool”,从 PHP 4.2.0 起)

  2. “integer” (或为“int”,从 PHP 4.2.0 起)

  3. “float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)

  4. “string”

  5. “array”

  6. “object”

  7. “null” (从 PHP 4.2.0 起)

使用类型

$a = 200;
$b = (string)$a;
var_dump($b);
-----结果------
string(3) "200"

使用函数得到对应的数据类型,比如intval , floatval ,boolval, strval

$a = 12.923;//浮点型
$b = intval($a);
var_dump($b);
-----结果------
int(12)

注意:当浮点型转换成整型的时候,会自动忽略小数点后的数,并不会四舍五入。

NULL数据类型

  NULL:表示一个变量没有值,NULL 类型唯一可能的值就是 NULL。

在下列情况下一个变量被认为是 NULL:

  • 被赋值为 NULL

  • 尚未被赋值

  • 被 unset()

其他的数据类型,数组,对象,资源在后面会介绍。

特别说明:在PHP中当我们想输出一个数的时候,可以使用echo进行输出,而字符串连接使用一个点.表示。也可以通过var_dump()进行输出,var_dump()可以输出当前数据的类型是什么。

总结

  基本数据类型使我们必须要掌握的,在以后的开发中,我们操作的数据都是基本数据类型。

 以上就是PHP基础教程二之基本数据类型的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
哪些常见问题会导致PHP会话失败?哪些常见问题会导致PHP会话失败?Apr 25, 2025 am 12:16 AM

PHPSession失效的原因包括配置错误、Cookie问题和Session过期。1.配置错误:检查并设置正确的session.save_path。2.Cookie问题:确保Cookie设置正确。3.Session过期:调整session.gc_maxlifetime值以延长会话时间。

您如何在PHP中调试与会话相关的问题?您如何在PHP中调试与会话相关的问题?Apr 25, 2025 am 12:12 AM

在PHP中调试会话问题的方法包括:1.检查会话是否正确启动;2.验证会话ID的传递;3.检查会话数据的存储和读取;4.查看服务器配置。通过输出会话ID和数据、查看会话文件内容等方法,可以有效诊断和解决会话相关的问题。

如果session_start()被多次调用会发生什么?如果session_start()被多次调用会发生什么?Apr 25, 2025 am 12:06 AM

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

您如何在PHP中配置会话寿命?您如何在PHP中配置会话寿命?Apr 25, 2025 am 12:05 AM

在PHP中配置会话生命周期可以通过设置session.gc_maxlifetime和session.cookie_lifetime来实现。1)session.gc_maxlifetime控制服务器端会话数据的存活时间,2)session.cookie_lifetime控制客户端cookie的生命周期,设置为0时cookie在浏览器关闭时过期。

使用数据库存储会话的优点是什么?使用数据库存储会话的优点是什么?Apr 24, 2025 am 12:16 AM

使用数据库存储会话的主要优势包括持久性、可扩展性和安全性。1.持久性:即使服务器重启,会话数据也能保持不变。2.可扩展性:适用于分布式系统,确保会话数据在多服务器间同步。3.安全性:数据库提供加密存储,保护敏感信息。

您如何在PHP中实现自定义会话处理?您如何在PHP中实现自定义会话处理?Apr 24, 2025 am 12:16 AM

在PHP中实现自定义会话处理可以通过实现SessionHandlerInterface接口来完成。具体步骤包括:1)创建实现SessionHandlerInterface的类,如CustomSessionHandler;2)重写接口中的方法(如open,close,read,write,destroy,gc)来定义会话数据的生命周期和存储方式;3)在PHP脚本中注册自定义会话处理器并启动会话。这样可以将数据存储在MySQL、Redis等介质中,提升性能、安全性和可扩展性。

什么是会话ID?什么是会话ID?Apr 24, 2025 am 12:13 AM

SessionID是网络应用程序中用来跟踪用户会话状态的机制。1.它是一个随机生成的字符串,用于在用户与服务器之间的多次交互中保持用户的身份信息。2.服务器生成并通过cookie或URL参数发送给客户端,帮助在用户的多次请求中识别和关联这些请求。3.生成通常使用随机算法保证唯一性和不可预测性。4.在实际开发中,可以使用内存数据库如Redis来存储session数据,提升性能和安全性。

您如何在无状态环境(例如API)中处理会议?您如何在无状态环境(例如API)中处理会议?Apr 24, 2025 am 12:12 AM

在无状态环境如API中管理会话可以通过使用JWT或cookies来实现。1.JWT适合无状态和可扩展性,但大数据时体积大。2.Cookies更传统且易实现,但需谨慎配置以确保安全性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。