PHP 八种基本的数据类型小结


Posted in PHP onJune 01, 2011

四种标量类型:

  • boolean (布尔型)
  • integer (整型)
  • float (浮点型, 也称作 double)
  • string (字符串)

两种复合类型:

  • array (数组)
  • object (对象)

最后是两种特殊类型:

  • resource (资源)
  • NULL (NULL)

为了确保代码的易读性,本手册还介绍了一些伪类型:

  • mixed
  • number
  • callback

以及伪变量 $....

可能还会读到一些关于“双精度(double)”类型的参考。实际上 double 和 float 是相同的,由于一些历史的原因,这两个名称同时存在。

变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。

Note如果想查看某个表达式的值和类型,用 var_dump()

如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()。要查看某个类型,不要用 gettype(),而用 is_type 函数。以下是一些范例:

<?php 
$a_bool = TRUE; // a boolean 
$a_str = "foo"; // a string 
$a_str2 = 'foo'; // a string 
$an_int = 12; // an integer echo gettype($a_bool); // prints out: boolean 
echo gettype($a_str); // prints out: string 
// If this is an integer, increment it by four 
if (is_int($an_int)) { 
$an_int += 4; 
} 
// If $bool is a string, print it out 
// (does not print out anything) 
if (is_string($a_bool)) { 
echo "String: $a_bool"; 
} 
?>

如果要将一个变量强制转换为某类型,可以对其使用强制转换或者 settype() 函数。

注意变量根据其当时的类型在特定场合下会表现出不同的值。更多信息见类型戏法。此外,你还可以参考 PHP 类型比较表看不同类型相互比较的例子。

PHP 相关文章推荐
PHP 定界符 使用技巧
Jun 14 PHP
php 静态页面中显示动态内容
Aug 14 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
深入PHP数据加密详解
Jun 18 PHP
PHP内核探索:变量概述
Jan 30 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
PHP+jQuery+Ajax实现用户登录与退出
Apr 27 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
PHP框架自动加载类文件原理详解
Jun 06 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 PHP
Laravel定时任务的每秒执行代码
Oct 22 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 #PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 #PHP
比较时间段一与时间段二是否有交集的php函数
May 31 #PHP
实用PHP会员权限控制实现原理分析
May 29 #PHP
允许phpmyadmin空密码登录的配置方法
May 29 #PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 #PHP
PHP之数组学习
May 29 #PHP
You might like
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
PHP错误机制知识汇总
2016/03/24 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
python进程与线程小结实例分析
2018/11/11 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
Python线程的两种编程方式
2015/04/14 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
大整数数相乘的问题
2012/07/22 面试题
个人充满哲理的自我评价
2014/02/20 职场文书
实验室的标语
2014/06/20 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
nginx+lua单机上万并发的实现
2021/05/31 Servers
Python的三个重要函数详解
2022/01/18 Python
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android