1. PHP内置类型有

四种标量类型 bool int float(或称double) string

两种复合类型 array object

两种特殊类型 resource NULL

2.相关命令

查看类型 gettype

判断类型 is_xxx

强制转换类型 (xxx)变量  或者settype

获取变量的当前类型值

xxxval();

如intval,boolval,floatval,strval

is_numeric检测变量是否为数字或数字字符串

3.详细介绍

-------------------------------------

bool:TRUE or FALSE

以下值被认为是FALSE

bool false

int 0

float 0.0

string “” or “0”

arrray []

NULL null或尚未被赋值的变量

从空标记生成的SimpleXML对象

其他都是TRUE(包括任何source资源)

注意:-1和其他非零值(不论正负都为TRUE)

所以可扩展为  -1>false为真

--------------------------------------

integer:集合{…-2,-1,0,1,2}中的一个数

二进制,十六进制,八进制均为int类型标量

注意:二进制表达的integer在5.4起可用

二进制 0b

八进制 0

十六进制 0x

注意:32位电脑的int占4个字节,每个字节8个单元,所以最大值为21亿左右,64位为9223372036854775807,计算方式为最大的正数是 01..1 后面31个1, 结果是 2147483647,最小的负数是 10...0后面31个0, 计算方法是用补码, 结果是 -2147483648, 而0xffffffff 是 -1

注意:如果向八进制传递一个非法数字(8,9)则本位以及后面的位将会被忽略(如012954)的八进制值为012,十进制值为10

注意:如果INT溢出将会被自动转换为float类型

注意:不要将未知的分数强制转换为int,不然结果将会不可预料

如(int) ( (0.1+0.7) * 10 )的值为7,而不是8.

--------------------------------------

float:浮点的形式有以下几种

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

浮点的长度与平台设置有关

注意:永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。因为只要浮点数换算成二进制是无穷尽的,那么它的实际值是略小于它本身的,如0.1实际值为0.0999999…(二进制为0.000110011001100…),如何要比较两浮点数是否相等,可以控制精度为小数点后XX位 如0.000001,然后将两数相减和此极小值比较,如果小于此值,则认为在XXX位精度的情况下,这两个浮点数是相等的。

注意:有时数学运算的结果为NaN,它代表任何不同值,所以不能用于与其他任何类型值比较(包括自身),可用is_nan判断。

注意:INF是无穷大的意思。

--------------------------------------

string:邮一系列的字符组成,每个字符占一个字节,因此PHP只支持256的字符集,不支持unicode。

表示方式为‘’,“”,<<<‘eof’xxxeof(xxx中的变量不会被解析),<<<“eof”xxxeof(xxx中的变量可以被解析).

提示:string最大可以达到2GB。

提示:PHP_EOL代表换行。

提示:string中的变量最好用{}括起来。

{}可扩展至类静态变量:{${beers::$ale}},{${beers::softdrink}}

提示:PHP 的字符串在内部是字节组成的数组。因此string可以被当作Array处理,每一个字符可当作一个元素。

注意:用超出字符串长度的下标写入将会拉长该字符串并以空格填充。 如$a = "abc“ 如果操作$a[4] = “d”,那么字符串长度将会被扩展到5,下标3的位置将会以空格填充。

注意:下标必须为整数或可转换为整数的字符串。

大部分PHP值(除了resource)可以转变成STRING,即串行化,可用serialize来实现。

--------------------------------------

array:是一个有序映射。

5.4起用[]代替array()。

键名如果是合法整型值的字符串,会被转换,“8”=8,但“08”不能被转换,因为它不是合法的十进制。

浮点键名会被转换为整型,但小数会被舍去。

布尔键名会被转换为0,1。

null键名被转换为“”。

数组和对象不能成为键名。

如果出现相同的键名,则后面的会覆盖前面的。

新建,修改,删除(unset)。

--------------------------------------

object:新建一个对象 new abc;

将其他任何类型的值转换为对象,将会产生一个public scalar属性,值为变量的值。(数组转换为obj将会得到与数组结构相同的,元素都为public的对象)

--------------------------------------

resource:一种特殊变量,保存到外部资源的一个引用。

常用函数为:get_resource_type取得资源类型。

由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

自动回收,所以不必手动销毁,但持久数据库连接比较特殊,它不会被回收掉。

--------------------------------------

NULL:表示NULL。

被赋值为NULL,尚未被赋值,UNSET 都会得到NULL。

使用 (unset) $var 将一个变量转换为 null 将不会删除该变量或 unset 其值。仅是返回 NULL 值而已。

--------------------------------------

callback回调类型:call_user_func call_user_func_array 实际运用中才得知。

--------------------------------------

字符与ascii之间的转换可用函数(C++可直接将字符转换为INT取得节ascii码)

ord,chr

4.类型转换的判别

进制转换的函数为:base_convert(值,当前进制,目标进制)

提示:如果字符串转进制则当前进制和目标进制都一样 如base_convert("0b11",2,2);则可转换成二进制,但需要理解的是,转换后的类型仍然是string,但可以进行位运算了。

如果有一个是float,则运算都转为float。否则都是int

注意:转换为二进制(binary)

转载于:https://blog.51cto.com/laoqian/1399734

复习PHP-语言参考-类型相关推荐

  1. 现代php 阅读笔记,PHP 手册阅读笔记 - 语言参考篇

    最近计划把 PHP手册,认真的先过一遍.记录一些以前不知道,不明确的知识. 语言参考 > 类型 [新认知]强制转换类型用 settype( mixed $var, string $type ). ...

  2. ASP.NET MVC 3 Razor 多国语言参考解决方案 补充四

    ASP.NET MVC 3 Razor 多国语言参考解决方案 补充四 转自 http://www.cnblogs.com/think8848/archive/2011/07/05/2098464.ht ...

  3. C语言删掉无关变量无输出,C语言变量类型与输出控制用法实例教程

    本文实例讲述了C语言变量类型与输出控制用法,有助于读者很好的对其进行总结与归纳.该实例分享给大家供大家参考借鉴之用.具体如下: 完整实例代码如下: /************************* ...

  4. Impala SQL 语言参考

    2019独角兽企业重金招聘Python工程师标准>>> Impala SQL 语言参考 Cloudera Impala 的查询语言是基于 SQL 的.为了保护用户在技能和查询设计方面 ...

  5. cc++语言参考手册_C ++值类别快速参考:第2部分

    c&c++语言参考手册 ← Go to Part 1 ← 转到第1部分 将参数传递给函数 (Passing parameters to a function) When passing par ...

  6. php语言开始和结束分别为,PHP语言参考

    PHP语言参考 从此开始,以后的内容均学习自PHP手册(https://www.php.net/manual/zh) 基本语法 当解析一个文件时,PHP 会寻找起始和结束标记,也就是php和,这告诉 ...

  7. 如何快速复习C语言知识点

    如何快速复习C语言知识点 如何快速复习C语言知识点 如何快速复习C语言知识点 1. 数据类型 1.1 基本类型 1.2 构造类型 1.3指针类型 2.输入输出和运算符 3.控制语句 3.1选择结构 3 ...

  8. python - references 之 python语言参考手册目录

    python 语言参考手册 官方文档link: https://docs.python.org/zh-cn/3/reference/index.html 目录 1. 概述 1.1. 其他实现 1.2. ...

  9. 复习C语言指针---函数指针

    复习C语言指针-函数指针 文章目录 复习C语言指针---函数指针 函数 函数指针 函数指针数组 回调函数 结束语 函数 一个函数表达式其实是不存在直接的"()"操作符的," ...

最新文章

  1. Python,OpenCV中的非局部均值去噪(Non-Local Means Denoising)
  2. Handler消息机制(八):Handler内存泄漏的场景有哪些,如何避免
  3. macsv服务器状态,和利时macs问题(启动服务器无法读出控制器的点名)
  4. Linux下用netstat查看网络状态、端口状态
  5. 【杂谈】购言有三签名纪念版书籍,送1~3副有三AI学习扑克牌
  6. OneAlert 入门(一)——事件流
  7. WPF 中如何使用第三方控件 ,可以使用WindowsFormsHost 类
  8. mysql多个外键删除设置_Mysql在删除集上使用多个外键创建表
  9. Linq to sql 增删改查
  10. js判断是否微信浏览器
  11. linux配置网桥,Linux下通过brctl配置网桥
  12. 夜神模拟器+Xposed框架+JustTrustMe(用来禁用、绕过 SSL 证书检查)来突破SSL Pinning
  13. 开启并定制 Apache 显示目录索引样式
  14. ajax访问websever经验
  15. No1.初来乍到,请多指教
  16. WPS如何将金额快速改为万元显示
  17. win10网络图标变成地球加禁止符号但能上网解决办法
  18. 基于互质阵的DOA估计
  19. HCIP之路IPV6
  20. Giscus,由 GitHub Discussions驱动的评论系统

热门文章

  1. linux或Jetson nano上安装torchvision或安装pillow报错:The headers or library files could not be found for jpeg
  2. es中的AllocationService
  3. 给一个由n个单词组成的字符串排序
  4. PHP-Zend引擎剖析之Hello World(二)
  5. hdu1.3.2 Rank
  6. ViewFlipper的使用
  7. 正则表达式基本语法详解
  8. elasticsearch的映射(mapping)和分析(analysis)
  9. Dreamer 3.0 支持json、xml、文件上传
  10. linux嵌套字幕工具,Linux(NAS通用)下自动匹配射手字幕脚本