当前位置:首页 > CN2资讯 > 正文内容

自学PHP笔记(二) PHP数据类型php 数据类型

2天前CN2资讯

本文转载来自:https://blog.csdn.net/KH_FC/article/details/115415323

PHP数据类型可支持以下8种类型:

类型 说明 string 字符串 boolean 布尔值 integer 整型 float 浮点型 array 数组 object 对象 resource 资源 NULL NULL

1. 基本类型

基本类型也就是最基础的数据类型,用来表示比较简单、直接性的数据,基本类型有以下几个数据类型:

类型 说明 boolean(布尔值) 其值只有两个,一个是true,一个是false。多数用来判断事物的真假 string(字符串) 其值包含计算机所能够显示的所有字符的集合,多数用来做说明性的字符 integer(整型) 只包含整数,包含正整数和负整数 float(浮点型) 包含整数和小数

1.1 boolean(布尔值)

布尔值由true和false这两个值,所以是PHP种最简单的一种数据类型,也是使用最多的一个数据类型,而且布尔值的两个值可以直接使用,不区分大小写,在设置变量时可以直接将布尔值中的两个值进行赋值就可以,通常是配合流程控制进行使用的。 【示例1】常规设置变量为布尔值

<?php $a = true; \\设置变量 a 的值为真 $b = false; \\设置变量 b 的值为假 ?>

示例2】与流程控制语句配合使用,判断事物真假

<?php $a = true; $b = false; if ($a == $b) { echo "值相等"; #结果为真输出 }else{ echo "值不相等"; #结果为假输出 } ?>

输出结果为:值不相等 【示例3】使用运算符返回布尔值

<?php $name = "张三"; if ($name == "张三"){ echo "他的名字是$name"; #如果判断运算结果为真则输出 } ?>

输出结果为:他的名字是张三 【示例4】常用语句

<?php if ($a = true ){ var_dump($a); } ?>

输出结果为:bool(true),上面出现的 var_dump()是用来打印输出结果并带上数据类型 上面那种判断变量真假的方式可直接写成下面简单的方法:

<?php if ($a) { var_dump($a); } ?>

注意】上面$a变量我的赋值没有写,不给变量复制,变量默认为NULL

1.2 整型

整型数值只包含整数,其中整型也可以使用八进制、十六进制、二进制表上,负数时前面可加可选符号-和+。 【示例1】八进制的整数,在表示数字前需要在数字前面加0

<?php $a = 0456; var_dump($a); ?>

输出结果为:int(302),八进制456转化为十进制是302 【示例2】十六进制的整数,在表示数字前需要在数字前面加0x

<?php $a = 0x456; var_dump($a); ?>

输出结果为:int(1110),十六进制456转化为十进制是1110 【示例3】二进制的整数,在表示数字前需要在数字前加0b

<?php $a = 0b1101; var_dump($a); ?>

输出结果为:int(13),二进制数1101转换为十进制是13 【示例4】打印负数,只需正数前面加-即可

<?php $a = -100; var_dump($a); ?>

输出结果不变,显示int(-100)

番外】整数一般最大值是二十亿,也就是32位字符,64位平台最大值是9E18,查看支持的最大值和最小值可以采用PHP_INT_MAX和PHP_INT_MIN进行查看 【示例1】查看支持最大的整数

<?php var_dump(PHP_INT_MAX); ?>

我这输出结果是int(9223372036854775807),你们自己算算吧是多少 【示例2】查看支持最小的整数,这个只有PHP7.0版本之后支持哟

<?php var_dump(PHP_INT_MIN); ?>

这个最小整数的输出值就不用我说了吧,算了给你们看看结果吧int(-9223372036854775808) 【注意】在输出八进制时,如果出现超过8的数值,PHP7.0版本之前会自动忽略,但是7.0之后会直接报错哦 【示例

<?php $a = 01239; var_dump($a); ?>

报错信息如下: 【注意】如果给出的整数值超出了整数范围,会被解释为浮点数,同样如果运算结果超出了整数范围,也会解释为浮点数哟! 【示例】运算结果超出整数范围

<?PHP $num1 = 45678901111; $num2 = 89099899111; var_dump($num1 * $num2); ?>

输出结果为:float(4.0699854804914E+21)

1.3 浮点型

浮点型整数也叫实数,表示方式可以采用正常格式和科学技术法格式进行 【示例1】正常格式

<?php $a = 1.234; var_dump($a); ?>

输出结果为:float(1.234) 【示例2】科学技术格式

<?php $a = 1.2e3; $b = 8E - 10; var_dump($a); var_dump($b); ?>

输出结果为:float(1200) float(8.0E-10)

1.4 字符串

字符串就是由一系列的字符组成,一个字符就是一个字节,通过单引号、双引号、Heredoc语法结构和Nowdoc语法结构定义字符串。

  • 单引号 采用单引号定义字符串就是使用单引号把字符包围起来,如果想要输出单引号需要在单引号添加转义符\,如果是在结尾想输出反斜杠就需要在字符前添加转义符\\,如果在其他字符前面添加转义符\或者\\会直接输出转义符。 【示例1】正常输出单行字符串
  • <?php $a = '我是一个字符串'; var_dump($a); ?>

    输出结果为:string(21) "我是一个字符串" 【示例2】正常输出多行字符串

    <?php $a = '我是多行 字符串'; var_dump($a); ?>

    输出结果为:tring(23) "我是多行 字符串" 【示例3】在字符串中显示单引号

    <?php $a = 'I like \'PHP\''; var_dump($a); ?>

    输出结果为:string(12) "I like 'PHP'" 【示例4】在字符串中输出反斜杠,多用于文件路径

    <?php $a = 'D:\\php\index.php'; var_dump($a); ?>

    输出结果为:string(16) "D:\php\index.php" 【注意】在使用单引号进行定义字符时,如果字符中含有变量,变量将不会被解释,但是双引号定义字符串时变量可以被解释的 【示例】在字符串中引用变量

    <?php $a = '张三'; $b = '我叫$a'; $c = "我叫$a"; var_dump($b); var_dump($c); ?>

    输出结果为:$b的返回结果为string(8) "我叫$a",$c的返回结果为string(12) "我叫张三" 2. 双引号 采用双引号定义字符串,将要定义的字符型采用"", 使用双引号定义字符串时,如果字符串中存在变量则变量将会被解释,不会显示变量名,PHP将对这些特殊字符串进行解析,这些字符串都要通过转义符来显示。 转义符列表:

    转义字符 意义 ASCLL码值(十进制) \a 响铃(BEL) 007 \b 退格(BS),将当前位置移到前一列 008 \f 换页(FF),将当前位置移到下页开头 012 \n 换行(LF),将当前位置移到下一行开头 010 \r 回车(CR),将当前位置移动到本行开头 013 \t 水平制表(HT)(跳到下一个TAB位置) 009 \v 垂直制表(TV) 011 \\ 代表一个反斜杠字符"\" 092 \' 代表一个单引号(撇号)字符 039 \" 代表一个双引号字符 034 \? 代表一个问好 063 \0 空字符(NULL:) 000 \ddd 1到3位八进制数所代表的任意字符 三位八进制 \xhh 1到2位十六进制所代表的任意字符 二位十六进制

    注意】要注意\和/,此处时不可替换的 【示例1】双引号定义字符串时输出$符号

    <?php echo "\$"; ?>

    示例2】双引号定义字符串时输出双引号

    <?php echo " My Name is \"李明\""; ?>

    输出结果为:My Name is "李明" 3. Heredoc语法结构 采用Heredoc结构<<<定义字符串,在使用提示符定义字符串时,要在提示符后面定义一个标识符,然后定义新的一行,新行中为你要显示的字符串,最后要以标识符进行结尾,标识符定义必须遵循PHP规则,只能包含大小写、数字和下划线,但是不能将下划线作为开头使用 【示例

    <?php $str = <<<test My name is "zhangsan" 加入CSDN已经一周年了 test; ?>

    输出结果为:My name is "zhangsan" 加入CSDN已经一周年了 【注意】在使用Heredoc语法结构定义字符串时,字符串中如果存在变量,那变量将会被解释 4. Nowdoc语法结构 采用Nowdoc语法结构定义字符串类似于采用Heredoc定义字符串的方式,只不过时在定义标识符时需要使用单引号将标识符进行包围,这种方法无法解释变量,在字符串中变量相当于字符 【示例

    <?php $name = "张三"; $str = <<<'test' My name is $name My name is 张三 test; echo $str; ?>

    输出结果为:My name is $name My name is 张三

    2. 复合类型

    复合类型包括数组和对象两种数据类型

    类型 说明 array(数组) 一组有序数据组合 object(对象) 对象是类的实例,使用new进行创建

    2.1 数组

    数组也就是我们常说的键值对的,每个数组都是由索引(键名)和值两部分组成,数组的索引部分可以使用字符串或者是数字表示,值可以是任意数据类型 【实例1】采用函数创建数组

    <?php $array = array( "name" => "张三", "age" => "11", ); var_dump($array); ?>

    输出结果为:array(2) { ["name"]=> string(6) "张三" ["age"]=> string(3) "11" } 【实例2】直接赋值的方式创建数组

    <?php $array = [ "name" => "张三", "age" => "11", ]; var_dump($array); ?>

    输出结果为:array(2) { ["name"]=> string(6) "张三" ["age"]=> string(3) "11" } 【实例3】创建只有值得数组

    <?php $array = array("张三","李四","王五"); var_dump($array); ?>

    输出结果为:array(3) { [0]=> string(6) "张三" [1]=> string(6) "李四" [2]=> string(6) "王五" } 【提示】不设置索引得话,数组会自动添加一个索引,这个索引是由数字组成得,第一个从零开始 【实例4】读取数组时,可以使用索引名用方括号包围得方式进行读取

    <?php $array = array( "name" => "张三", "age" => "11", ); var_dump($array['name']); ?>

    输出结果为:string(6) "张三" 当然也可以用数组得索引进行赋值得例如:

    <?php $array = array( "name" => "张三", "age" => "11", ); $array['name'] = "李四"; var_dump($array); ?>

    输出结果为:array(2) { ["name"]=> string(6) "李四" ["age"]=> string(2) "11" }

    2.2 对象

    对象是面向对象编程得基础,在PHP中使用new进行实例化,也就是创建对象 【实例】创建对象

    <?php class test{ function fu(){ echo "test"; } } $test = new test; $test->fu(); ?>

    输出结果为:test

    3. 特殊类型

    特殊得数据类型包含资源和空值两种

    类型 说明 resource(资源) 这个也是就指的外部资源,如上传的文件等 NULL(空值) 指的是当没有赋值变量时则为空

    3.1 资源

    资源数据类型变量保存有打开文件、数据库连接、图形画布区域等的特殊句柄,不建议将其他数据类型转换为资源类型,多数使用在文件上传,下载,数据库等场景 资源数据类型自动开启资源回收机制,随时释放不再使用的资源,以免程序占用服务器的大量资源,无需手动释放 后续为大家记录资源的使用方法吧。

    3.2 NULL

    NULL即空值,也是就是说变量并没有进行赋值,其值时一个比较特殊的值为null,该值不区分大小写,变量为空值时会存在设置为空、变量没有被赋值和使用unset()函数处理过的变量 【示例1】设置变量值为空

    <?php $test = null; var_dump($test); ?>

    输出结果为:NULL 【示例2】在不设置变量时输出变量值

    <?php var_dump($a); ?>

    输出结果为:NULL 【提示】使用unset()函数将会摧毁变量,使用is_null()函数可以判断变量是否为空 【实例3】判断变量是否为空

    <?php $a = "张三"; if (is_null($a)){ echo "变量为空"; }else{ echo "变量不为空"; } ?>

    输出结果为:变量不为空

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/26537.html

      分享给朋友:

      “自学PHP笔记(二) PHP数据类型php 数据类型” 的相关文章

      香港云电脑:灵活、高效、经济的现代计算解决方案

      香港云电脑概述 香港云电脑,是基于云计算技术的一种崭新电脑服务模式。其实你可以把它想象成一种“租赁”的概念。我们不需要像以前那样花大价钱去购买实体电脑,而是可以通过网络租用需要的计算、存储和软件资源,与此同时,拥有几乎完整的电脑功能。这种模式的好处多多,包括灵活性、低成本、高效性以及可扩展性。无论是...

      Vorboss:伦敦领先的商业光纤网络提供商,互联网速度与稳定性之选

      Vorboss概述 在现代商业环境中,服务的速度和稳定性比以往任何时候都重要。Vorboss的出现,为伦敦的企业带来了一个崭新的光纤网络选择。作为伦敦唯一专用的商业光纤网络,Vorboss提供至少10Gbps的互联网速度,并且支持扩展到100Gbps。这种高效的网络解决方案为雄心勃勃的公司提供了直接...

      RackNerd与ColoCrossing的对比分析:选择适合你的数据中心服务

      RackNerd vs ColoCrossing概述 在当前的互联网服务市场中,RackNerd与ColoCrossing都是备受关注的数据中心服务提供商。它们各自的成长背景和市场定位都显示出一些显著的差异。RackNerd成立于2019年,专注于提供低价 VPS 和服务器租用服务,屡次推出吸引人的...

      国外云服务器推荐:如何选择适合你的云服务平台

      国外云服务器概述 云计算是近年来一个热门的话题,我常常听到朋友们讨论它的好处。那么,什么是云计算呢?简单来说,云计算是一种利用互联网提供计算机服务的方式。用户可以通过互联网访问服务器、存储、数据库和软件等基础设施,省去了传统硬件的维护和管理。这种技术的发展,使得企业和个人能够更加灵活和高效地使用计算...

      ZGOVPS优惠码使用指南:如何享受高性能VPS服务的优惠

      ZGOVPS是一家在VPS服务领域备受瞩目的品牌。作为一个提供高性能虚拟专用服务器的商家,它在业内以性价比高、网络稳定和良好口碑而受到广泛欢迎。我在使用ZGOVPS的过程中,深刻感受到了它对客户需求的敏锐把握和优质服务的承诺。 从公司的背景来看,ZGOVPS专注于为全球用户提供专业的VPS解决方案,...

      BT开心版:简化Linux服务器管理的最佳工具

      BT开心版是一个强大的Linux服务器管理工具,致力于简化网站的搭建、管理和维护过程。对于那些刚接触Linux操作系统的用户来说,BT开心版的出现无疑是一大福音。它的设计理念是让每个用户无论有多少技术背景,都能高效地管理自己的网页,不必深入学习Linux系统的复杂操作。 首先,我发现BT开心版的最大...