热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据类型-尼农小道

数据类型-尼农小道
数据类型

PHP中有三种数据类型:标量数据类型、复合数据类型、特殊数据类型

PHP中一种弱数据类型语言,php中的一个变量可以存储任意类型的数据。变量类型由数据来决定。

强数据类型语言:

    强数据类型语言的特点是在使用一个变量之前,必须根据变量即将存储的数据的类型来,将该变量声明为此种类型的变量。

Java示例:

定义一个变量用于存储整型数据

int v1 = 100

v1 = 'one'            //马上报错

PHP弱数据类型的语言:

    特点,变量可以存储任意数据类型。

php示例:

    定义一个变量用于存储整型数据

    $v1 = 100;

    $v1 = 'one';

 

标量数据类型

整型(int、integer)

    整型的值就是集合(...-2,-1,0,1,2,3....)中的一个值。

    整型所占字节是4个(4表示的是并不是十进制中的4位,而是二进制中32位)

整型最大的表示范围:2147483647

原理:

    (01111111111111111111111111111111)2=(2147483647)10

整型的值还可以是八进制、十六进制

八进制:以0开头,数字不能大于7

十六进制:以0x开头,数码包含0至9、A(10)、B、C、D、E、F(15)

示例:

可以使用printf()函数用于格式化输出数据

语法:

    printf('格式字符串',数据列表)

说明:

    格式字符串中可以包含一些占位符:

    %d        十进制

    %b        二进制

    %o        八进制

    %x        十六进制

示例1:

示例2:

 

小数型(float)

    带有小数点的数即为小数型(也称之为精度型),PHP对于小数型又进行划分,分为单精度(float\single)与双精度(double)

float类型

double类型

类型

字节

最小值

最大值

Float

4

-3.402823466E+38

3.402823466E+38

Double

8

-1.7976931348623157E+308

1.7976931348623157E+308

 

整型        4字节(32个二进制位)         最大表示    2147483647

float        4字节(32个二进制位)            3.402823466E+38

 

IEEE组织规定(Institude Electrical Electroncity Engineer)

浮点数的约束:

0 000 0000 0 000 0000 0000 0000 0000 0000

0sign符号位    1位    0表示正数        1表示负数

000 0000 0 exponent指数位    有8位

000 0000 0000 0000 0000 0000有效数据位Mantisa 23位

 

指数位与有效数据位都是0是表示数据0,如下:

000 0000 0 000 0000 0000 0000 0000 0000

 

指数位都是1,且有效数据位都为0表示数据无穷大,如下:

111 1111 1 000 0000 0000 0000 0000 0000

 

指数位都是1,有效数据位都为非零表示数据null,如下:

111 1111 1 000 0000 0000 0000 0000 0000

 

表示的数据范围:由指数位与有效数据位共同决定

指数位:

11111110    254        还要减去127        127    

2的127次方式                十进制数=>    1.7014118346046923e+38

有效数据位:

在有效数据位之前有一个隐藏的1

000 0000 0000 0000 0000 0000

1.11111111111111111111111        十进制数=>1.99999999999(约等于2)

 

指数位乘以有效数据位:

    1.7014118346046923e+38*2    约等于3.402823466E+38

示例:

 

boolean布尔类型:

    主要用于表示事物仅存的两个状态,对、错,真假

取值:

    true        表示成立

    false    表示不成立

布尔类型的值本身没有什么意义,主要用于流程控制。

 

字符串

    0个或多个字符的集合

字符定义方式:

方法1:

    使用单引号定义的字符串

    

方法2:使用双引号定义的字符串

方法3:定界字符串

语法:

    $v1 = <<<定界符开始

    内容

定界符结束;

示例:

注意:

    定界符的开始标记与结束标记要一致

    结束标记前不能有空格

    定界符就可以理解为html编辑器。

定界符可以分为两类:heredoc与nowdoc

heredoc的语法:

语法:

    $v1 = <<<定界符开始

    内容

定界符结束;

nowdoc的语法:

语法:

    $v1 = <<<'定界符开始'

    内容

定界符结束;

示例:

注意:

    单引号与双引号的使用,一般如果字符串没有变量使用单引号(效率会高)。

 

复合数据类型

array(数组)

    数组主要用于存储,多个具有一定的关系数据(变量)

示例:

object(对象)PHP高级

 

特殊数据数据类型:

resource(资源类型)

    资源类型也量一种特殊的变量,程序员不能对资源类型进行任何的操作,只能查看(var_dump),

    资源类型只能通过PHP为我们提供的特殊的函数来创建。

    资源类型主要用于表示php的扩展资源(PHP之外的数据),例如:一个数据连接,一个数据表的结果集,一个外部文本文件等。

null(空)

    null也是一种PHP中的特殊的变量,表示null,一般查看一个没定义的变量,或变量的被unset()。


推荐阅读
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了在PHP中将空格转换为问号的问题,并提供了解决方案。文章指出,空格不是标准的空格,而是特殊的0xC2 0xA0字符。作者尝试使用mb_convert_encoding函数将utf8字符串转换为gbk编码,但未成功。文章建议检查编辑器是否对空格进行了特殊处理,并提供了使用base64_encode函数打印结果的方法。最后,给出了完整的代码示例。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
author-avatar
mobiledu2502857153
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有