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

x33g5p2x  于2022-03-06 转载在 其他  
字(3.4k)|赞(0)|评价(0)|浏览(425)

本节讲解的内容

  • 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 = <<<'COO'
    这是一个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 &var,stringtype )

$a = 100; //整型
settype($a, 'float');//强制类型转换
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()可以输出当前数据的类型是什么。

总结

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

相关文章