我的php学习第二十五天——PHP的数据类型

PHP有8大数据类型,分为三个大类

标量数据类型(简单数据类型)

整型:int或者integer

浮点型:float或者double

布尔型:bool或者Boolean

字符型:string

复合数据类型

数组:array

对象:object

特殊数据类型

资源:resource

空:NULL

为什么会有数据类型?

对于电脑来说,根本没有数据类型,只有二进制

是因为人有需求,需要对数据进行分门别类,所以才定义了这么些数据类型。

 

PHP是一门弱类型的语言。

强类型:在给变量赋值之前,需要对变量的类型进行声明,而且给变量的值必须是指定类型的数据

Int num;

Num = 10;

//num = ‘abcd’;//系统会报错,提示数据类型不符合

弱类型:变量分为两个部分,一部分是变量名,变量值,变量名是不区分数据类型的,值是有类型

$a = 10; //10是整型,但是a变量本身没有数据类型。

 

整型:int,指的是在一定范围内的整数。

PHP_INT_MAX 代表整型的最大值。

image086

如何判断一个变量到底是什么类型?var_dump(变量)

image088

PHP还支持其他进入:八进制和十六进制

八进制:逢十进一,假设一个十进制的数值为17,21

PHP默认都是认为是十进制,除非碰到以0开始,而且在输出的时候会将其他类型进制转化成十进制输出。

$oct = 021;

image090

如何让系统在输出的时候保留原来的进制输出?printf(‘%o’,$a);

image092

十六进制:逢16进1

1,2,3,4,5,6,7,8,9,a,b,c,d,e,f---------10,11…1f--------20,21….

$hex = 0x15; //21

image094

进制转换

十进制转八进制

image096

十进制转十六进制

image098

十六进制转十进制(其他进制转十进制都可以采用同样的方式)

image100

PHP为用户提供了进制转换的函数

Hexdec():十六进制转十进制

Dechex():十进制转十六进制

Bindec():二进制转十进制

Decbin():十进制转二进制

Octdec():八进制转十进制

Decoct():十进制转八进制

 

 

浮点型:float

强类型语言里

Float:4个字节,单精度

Double:8个字节,双精度

单精度和双精度表示能够精确的位数不一样,单精度的精确长度7位,双精度大概是16位左右

单精度值:1234567890 ----------》1234570000

在PHP中

Float=double=8个字节

PHP中浮点数能够保存的最大值:1.8 * 10^302

image102

image104

因为浮点数会丢失精度,所以有可能导致看到的浮点数跟实际存储的浮点数一样,因此不采用浮点数进行比较

image106

时间戳是一类整型

image108

布尔类型

正常的,布尔类型有两个值:TRUE和FALSE

在PHP中,只要非0,都为TRUE

image110

在PHP中,有哪些会被认为是FALSE呢?

以下部分都是FALSE,这部分FALSE不能用来输出或者var_dump判断,属于不同的数据类型,需要通过if进行判断,从而得出其正确的布尔结果

FALSE

0

0.0

’’

’0’

空数组

null值

字符类型

由字符组成的数据类型就是字符类型。

定义方式有多种

$str1 = ‘abcd’;

image112

$str2 = “abcd”;

image114

单引号和双引号有什么区别?

  1. 双引号号中会对符合条件的变量进行解析,得到其结果;单引号会直接原样输出所有字符。image116
  2. 在双引号中,能够解析更多的转义字符image118

单引号里只能识别\’对于单引号的转义

双引号里不能识别\’对单引号的转义,双引号\”,\r\n\t都可以识别

注意:转义字符\不能放倒字符串的最后,因为放到最后会对最后的引号(不论单双)都会进行转义。

 

字符串定义方式:定界符

语法:$string = <<<STR

字符串内容

STR;

image120

使用双引号也可以实现js的输出

image122

说明双引号跟定界符方式没有什么明显的区别

定界符也可以输出变量

image124

注意:使用定界符输出字符串能够保留其原有的格式。

什么时候使用定界符,什么时候使用双引号?

他们之间没有什么区别。通常,当字符串非常长而且复杂的时候,尽可能的使用定界符,因为其格式非常明确,便于识别。如果字符串很短的话,那么就建议使用双引号。

什么时候使用双引号,什么时候使用单引号?

有这么一种认为:单引号的效率比双引号效率高。如果输出的字符串不需要解析变量和一些转义字符,那么尽量使用单引号,其他情况下使用双引号或者定界符。

定界符需要注意以下几点

  1. 定界符的第一行 <<< STR之后不能有任何内容,连空格都不行
  2. 使用定界符,注释不能卸载定界符内容里面
  3. 最后部分STR要独占一行
  4. 最后部分STR必须要顶格,如果出现了这种错误,很难找出来

在双引号或者定界符中解析变量注意事项

  1. 保证变量名与后面的其他字符串之间没有联系(可以通过空格来进行区分)
  2. 使用{}对变量进行包含,显示的告诉编译器大括号里面的是一个变量

image126

提示浏览器使用指定编码解析html文件

image128

 

PHP代码执行过程

PHP是以中脚本语言, 也是一种解释型语言

Index.c

Index.java ====》 index.class ==è执行index.class文件

前面两种都需要先进行编译,产生一个执行文件

Index.php ======》解释

image130

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/2081.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2017年5月2日 19:47
下一篇 2017年5月3日 00:40

相关推荐

  • PHP8.0中的JVM序列化库

    随着PHP 8.0的发布,许多新功能得到了带来。其中之一是引入了JVM序列化库,这是一项旨在提高性能的功能。在这篇文章中,我们将详细探讨PHP8.0中的JVM序列化库。JVM序列化是什么?在开始之前,让我们先了解一下JVM序…

    2023年5月19日
    07
  • 使用PHP开发直播功能的详细教程。

    随着网络技术的不断发展,直播功能正在变得越来越流行。在这样一个背景下,越来越多的开发者正在使用PHP语言开发直播功能,以满足市场需求。本篇文章将针对如何使用PHP语言开发直播功能,提供一个详细的教程,帮助…

    2023年5月30日
    045
  • 小编教你php 建站模板。

    “快速搭建PHP网站,提供高质量建站模板。” 建站模板为什么都是PHP? 在互联网高速发展的今天,网站已经成为了企业、个人展示自己的重要平台,而建站模板则是网站建设过程中不可或缺的一部分,为什么建…

    2024年7月25日
    04
  • 如何使用PHP中的Memcache缓存技术提高网站的大并发性能。

    随着互联网技术的不断发展,网站的用户访问量越来越大,带来的并发访问量也越来越高。为了应对这种高并发访问,常用的手段是使用缓存技术。而在PHP语言中,Memcache缓存技术是一种非常有效的解决方案。Memcache是一…

    2023年5月21日
    03
  • 使用PHP操作Cassandra数据库。

    Cassandra是一个基于NoSQL的分布式数据库管理系统,可以支持处理大量数据。PHP作为一种流行的服务器端编程语言,可以用于操作Cassandra数据库。本篇文章将介绍如何使用PHP驱动程序和CQL来连接和操作Cassandra数据库…

    2023年5月21日
    04
  • PHP入门指南:观察者模式。

    在现代软件开发中,设计模式是一种被广泛使用的概念。设计模式是存在于软件系统中的通用解决方案,它们经过测试和证明,可以帮助开发人员更高效地构建复杂的软件应用程序。观察者模式是其中一个很常见的设计模式,…

    2023年5月22日
    03
  • PHP8.0中的类型约束处理库:Typehint

    PHP是一门非常受欢迎的编程语言,被广泛用于Web开发领域。随着版本的不断更新,PHP的功能也日益丰富。在2020年11月,PHP8.0版本正式发布,其中一个重要的新特性就是类型约束处理库——Typehint。Typehint是PHP8.0中新…

    2023年5月18日
    05
  • PHP资源--RESOURCE

    说明:就是引用PHP外部的内容,这个时候的类型的就是资源。资源是通过专门的函数来建立和使用的。

    2017年11月28日
    0249

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息