实例解析php的数据类型


Posted in PHP onOctober 24, 2018

PHP的数据类型分为三大类,八小类:

1、标量类型

boolean(布尔型):这是最简单的类型,只有两个取值,可以为TRUE/true或FALSE/false,不区分大小写。详细请查看:PHP布尔类型(boolean)

integer(整型):整型值可以使用十进制,十六进制或八进制表示,前面可以加上可选的符号( - 或 + )。八进制表示数字前必须加上0(零),十六进制表示数字前必须加上0x。详细请查看:PHP整型数据(integer)

float(浮点型,也称作double):详细请查看:PHP浮点类型(float)

string(字符串):字符型变量不同于其他编程语言有字符和字符串之分,在PHP中,统一使用字符型变量来定义字符或者字符串。详细请查看:PHP字符串类型(string)

2、复合类型

array(数组):数组型变量是一种比较特殊的变量类型

object(对象):对象也是一种特殊的数据类型,要创建object变量,一般使用new关键字来获取,详细请查看:PHP对象类型(object)

3、特殊类型

resource(资源型):资源是一种特殊的变量,保存了到外部资源的的一个引用。资源是通过专门的函数来建立和使用的。详细请查看:PHP资源类型(resource)

NULL(空null):表示一个变量没有值。NULl唯一可能的值就是NULL

注意:PHP是一种弱类型的语言,其变量没有数据类型,但是变量所存储的数据有对应的数据类型

整型数据类型:采用8个字节存储,并且提供了多种进制的整数存储方式

$num = 10;      // 十进制
  $num1 = 0123;    // 八进制(83)
  $num2 = 0x123;   // 十六进制(291)
  $num3 = 0b1101;   //二进制(13)

浮点型数据类型:采用8个字节存储,并且提供了多种存储方式

$float_num = 1.23;
  $float_num1 = 1.23e3;    // 1.23乘10的3次方

其在内存中的存储方式是:将8个字节的一部分拿出来存储指数,一部分存储有效数字,则某些时候,当超出一定范围,会导致精度丢失。

字符串数据类型

在PHP中,凡是用户输入的数据和程序员使用了引号(单引号和双引号)定义的数据,系统都理解为字符串,PHP7字符串的长度理论上无限制

单引号和双引号都可以定义字符串,但是彼此是有区别的:

--单引号中只能解析少量的转义符号:\',\

--双引号中能解析较多的转义字符:$,\”,\n

双引号中能够解析嵌套在字符串中的php变量( 变量要与其他字符串分离,使用{} )

$a = "你好";
  $c = "$a世界";
  // $c = "{$a}世界" 常用
  echo $c;    //输出“你好世界”

字符串查看

可以通过下标$str[ 1 ]来查看字符串中制定下标的字符,当索引为负数时,则从后往前作为索引方向

定义数组

在PHP中可以通过多种方式来定义数组,通用的几种方式如下:

-- 使用array关键字来初始化数组

-- 使用数组括号 [ ] 来初始化数组

// 使用array
  $arr1 = array();    // 可以不指定元素
  $arr2 = array("name", "age");
// 使用[]定义数组
  $arr3 = [];
  $arr4 = ["name", "age"];

数组的特点

1、PHP数组中的元素理论上没有数量限制

2、PHP数组中可以动态添加元素

3、PHP数组元素的值可以是任意数据类型

4、PHP数组下标可以是纯数字(索引数组),纯字符串(关联数组),混合数字和字符串(混合数组)

类型判断

通过系统函数判定数据类型:函数的格式使用 is_ 开头,后面跟对应的数据类型,其返回结果是布尔类型。

类型转换

自动转换:PHP会自动根据数据要参与的运算场景来将不符合条件的数据类型的数据转换目标类型数据,这种转换不会改变变量原来的数据类型

强制转换:使用 int(目标类型)格式来转换数据

PHP 相关文章推荐
也谈截取首页新闻 - 范例
Oct 09 PHP
PHP中对数据库操作的封装
Oct 09 PHP
对Session和Cookie的区分与解释
Mar 16 PHP
15种PHP Encoder的比较
Apr 17 PHP
php打造属于自己的MVC框架
Mar 07 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
学习php设计模式 php实现命令模式(command)
Dec 08 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
php redis setnx分布式锁简单原理解析
Oct 23 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 #PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 #PHP
php微信公众号开发之答题连闯三关
Oct 20 #PHP
php微信公众号开发之简答题
Oct 20 #PHP
php微信公众号开发之快递查询
Oct 20 #PHP
php微信公众号开发之翻页查询
Oct 20 #PHP
php微信公众号开发之校园图书馆
Oct 20 #PHP
You might like
杏林同学录(一)
2006/10/09 PHP
global.php
2006/12/09 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
用js解决数字不能换行问题
2010/08/10 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
Python对切片命名的实现方法
2018/10/16 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
Python基于execjs运行js过程解析
2020/11/27 Python
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
忠诚教育心得体会
2014/09/03 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
长城导游词300字
2015/01/30 职场文书
法律意见书范文
2015/06/04 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
python3操作redis实现List列表实例
2021/08/04 Python
Go语言测试库testify使用学习
2022/07/23 Golang