目录
本节讲解的内容
PHP的简单介绍
PHP的四种标签格式
PHP变量
PHP基本数据类型
整型数据类型
浮点型数据类型
布尔数据类型
字符串数据类型
基本数据类型转换
自动类型转换
强制类型转换
NULL数据类型
总结
首页 后端开发 php教程 PHP基础教程二之基本数据类型

PHP基础教程二之基本数据类型

Mar 01, 2017 am 09:23 AM

本节讲解的内容

  • 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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

CakePHP 项目配置 CakePHP 项目配置 Sep 10, 2024 pm 05:25 PM

在本章中,我们将了解CakePHP中的环境变量、常规配置、数据库配置和电子邮件配置。

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

为了在 cakephp4 中处理日期和时间,我们将使用可用的 FrozenTime 类。

CakePHP 使用数据库 CakePHP 使用数据库 Sep 10, 2024 pm 05:25 PM

在 CakePHP 中使用数据库非常容易。本章我们将了解CRUD(创建、读取、更新、删除)操作。

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

为了进行文件上传,我们将使用表单助手。这是文件上传的示例。

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

在本章中,我们将学习以下与路由相关的主题?

CakePHP 创建验证器 CakePHP 创建验证器 Sep 10, 2024 pm 05:26 PM

可以通过在控制器中添加以下两行来创建验证器。

See all articles