0

0

php数据类型

php中文网

php中文网

发布时间:2016-07-29 09:00:44

|

1488人浏览过

|

来源于php中文网

原创

php 支持8种基本的数据类型。

四种标量类型:

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

两种复合类型:

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

最后是两种特殊类型:

  • resource (资源)
  • NULL (NULL)

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

立即学习PHP免费学习笔记(深入)”;

  • mixed
  • number
  • callback

以及伪变量 $....

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

Generative BI
Generative BI

无代码AI数据报表平台,通过提问即可分析数据并生成相关的数据模型和报告

下载

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

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

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

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

#

php数据类型

<p><span>二、PHP的数据类型

Int zjj</span><span>=</span><span>100</span><span>;                  </span><span>//</span><span>这种赋值是对的</span><span>
Int zjj</span><span>=</span><span>"</span><span>hello,world</span><span>"</span><span>;            </span><span>//</span><span>这种编译器就会提示错误</span><span>
在PHP中,对变量的数据类型不需要声明,可以直接赋值。如下面的

$zjj</span><span>=</span><span>100</span><span>;               </span><span>//</span><span>表示zjj为整型</span><span>
$zjj</span><span>=</span><span>"</span><span>hello,world</span><span>"</span><span>//</span><span> 表示zjj为字符串型</span><span>
PHP中的数据类型分成两种:一是标量数据类型,另一种就是复合数据类型。

标量数据类型有:

布尔型(boolean)         整型(integer)          浮点型(foat也叫做double)     

复合数据有:

数组(array)        对象(</span><span>object</span><span>)

还有两种特殊的数据

资源(resource)           空值(NULL)

</span><span>1</span><span>、布尔型是最简单的变量,布尔变量:true和false值

要设定一个布尔变量,只需将这两个值赋给变量就行了。PHP中就算是关键字也可以做变量名。

</span><span><?</span><span>php
 $True</span><span>=</span><span>"</span><span>我是变量</span><span>"</span><span> . True;                   </span><span>//</span><span>这里有点的,书上有时印刷并没有。</span><span> echo($True);
 echo(</span><span>"</span><span><BR></span><span>"</span><span>);                        </span><span>//</span><span>起到回车的作用</span><span> echo(</span><span>"</span><span>我是关键字</span><span>"</span><span> . True)
</span><span>?></span><span>执行结果:我是变量1                            </span><span>//</span><span>这里true就是1</span><span>
                  我是关键字1

true和false实际上是代表数值1和0,因此true在输出时显示为1,但是在给变量赋值的时候,如果赋值为1,则被当成整型,如果被赋值为true,则被当成布尔型

当转换为布尔型时,以下值被认为是false

 (</span><span>1</span><span>)布尔值false

(</span><span>2</span><span>)整型值0(零)

(</span><span>3</span><span>)浮点型值0.</span><span>0</span><span>(零)

(</span><span>4</span><span>)空白字符串和字符串</span><span>"</span><span>0</span><span>"</span><span>(</span><span>5</span><span>)没有成员变量的数组

(</span><span>6</span><span>)没有单元的对象(仅适用php4)

(</span><span>7</span><span>)特殊类型NULL

而所有其他值都被认为是TRUE包括任何资源。

</span><span>2</span><span>、整型

</span><span>+</span><span>2147483647到</span><span>-</span><span>2147483647</span><span><?</span><span>php
 $int_D</span><span>=</span><span>2147483647</span><span>;  </span><span>//</span><span>十进制赋值</span><span> echo($int_D);
 echo(</span><span>"</span><span><br></span><span>"</span><span>);
 $int_H</span><span>=</span><span>0x7FFFFFFF</span><span>;  </span><span>//</span><span>十六进制赋值</span><span> echo($int_H);
 echo(</span><span>"</span><span><br></span><span>"</span><span>);
 $int_O</span><span>=</span><span>017777777777</span><span>;  </span><span>//</span><span>八进制赋值</span><span> echo($int_O);
 echo(</span><span>"</span><span><BR></span><span>"</span><span>);
</span><span>?></span><span>执行结果:

</span><span>2147483647</span><span>2147483647</span><span>2147483647</span><span>如果指定一个数超出了inter的范围,将会被解释为float

</span><span>3</span><span>、浮点型

</span><span>1</span><span>.7E</span><span>-</span><span>308到1.7E</span><span>+</span><span>308</span><span><?</span><span>php
 $float_1</span><span>=</span><span>90000000000</span><span>;  
 echo($float_1);
 echo(</span><span>"</span><span><br></span><span>"</span><span>);
 $float_2</span><span>=</span><span>9E10;  
 echo($float_2);
 echo(</span><span>"</span><span><br></span><span>"</span><span>);
 $float_3</span><span>=</span><span>9E</span><span>+</span><span>10</span><span>; 
 echo($float_3);
</span><span>?></span><span>执行结果:

</span><span>90000000000</span><span>90000000000</span><span>90000000000</span><span>4</span><span>、字符串

PHP中有三种方式定义字符串

</span><span>1</span><span>、单引号方式。

$single_str</span><span>=</span><span>'</span><span>我是人</span><span>'</span><span>;

如果想在浏览中输出单引号,必须在字符串中加入转义符号“”

</span><span><?</span><span>
 $single_str</span><span>=</span><span>'</span><span>我被单引号括起来了!<br></span><span>'</span><span>;      //正常输出
 echo $single_str;
 $single_str</span><span>=</span><span>'</span><span>输出单引号: '嘿嘿,我在单引号里面'<br></span><span>'</span><span>;      //加了转义符可以输出单引号
 echo $single_str;
 $single_str</span><span>=</span><span>'</span><span>输出双引号:"我在双引号里面"<br></span><span>'</span><span>;         //正常输出
 print $single_str;
 $single_str</span><span>=</span><span>'</span><span>输双美元符号:$</span><span>'</span><span>;                 //正常输出
 print $single_str;
</span><span>?></span><span>执行结果:

我被单引号括起来了</span><span>!</span><span>
输出单引号: </span><span>'</span><span>嘿嘿,我在单引号里面</span><span>'</span><span>
输出双引号:</span><span>"</span><span>我在双引号里面</span><span>"</span><span>
输双美元符号:$

(</span><span>2</span><span>)、双引号方式

$Double_Str</span><span>=</span><span>"</span><span>我是人</span><span>"</span><span>为了在字符串中输出各种特殊字符,可以使用转义符

$Double_Str</span><span>=</span><span>"</span><span>输出美元符号:$</span><span>"</span><span>;

$Double_Str</span><span>=</span><span>"</span><span>输出反斜杠:\</span><span>"</span><span>;

</span><span><?</span><span>
 $Double_str</span><span>=</span><span>"</span><span>我被双引号括起来了!<br></span><span>"</span><span>;
 echo $single_str;
 $single_str</span><span>=</span><span>"</span><span>输出单引号:'嘿嘿,我在单引号里面'<br></span><span>"</span><span>; </span><span>//</span><span>不需要转义符</span><span> echo $single_str;
 $single_str</span><span>=</span><span>"</span><span>输出双引号:"我在双引号里面"<br></span><span>"</span><span>;  </span><span>//</span><span>需要转义符 </span><span> print $single_str;
 $single_str</span><span>=</span><span>"</span><span>输出美元符号:$ <br></span><span>"</span><span>;  </span><span>//</span><span>需要转义符 </span><span> print $single_str;
 $single_str</span><span>=</span><span>"</span><span>输出反斜杠 :\ <br></span><span>"</span><span>;  </span><span>//</span><span>需要转义符 </span><span> print $single_str;
 
</span><span>?></span><span>执行结果:

输出单引号:</span><span>'</span><span>嘿嘿,我在单引号里面</span><span>'</span><span>
输出双引号:</span><span>"</span><span>我在双引号里面</span><span>"</span><span>
输出美元符号:$ 
输出反斜杠 : 

(</span><span>3</span><span>)、Heredoc 方式给字符串赋值

</span><span><?</span><span>
$zjj1_str </span><span>=<<<</span><span>zjj          //</span><span>=<<<</span><span>这个相当于链接符,获取zjj到zjj中间的数据
 你好</span><span><</span><span>br</span><span>></span><span>
 美元符号  $ </span><span><</span><span>br</span><span>></span><span>         //zjj1和zjj都是可以随便起名字的。
 反斜杠   </span><span><</span><span>br</span><span>></span><span>"</span><span>我爱你</span><span>"</span><span><</span><span>br</span><span>></span><span>'</span><span>我恨你</span><span>'</span><span>
zjj;
 echo $zjj1_str;
</span><span>?></span><span>执行结果:

你好
美元符号 $ 
反斜杠 
</span><span>"</span><span>我爱你</span><span>"</span><span>'</span><span>我恨你</span><span>'</span><span>(</span><span>4</span><span>)、串中的变量

</span><span><?</span><span>php
 $str_1 </span><span>=</span><span>"</span><span>我是变量的值!</span><span>"</span><span>;  
 $str_2 </span><span>=</span><span>"</span><span>str_1 : $str_1<br></span><span>"</span><span>;  </span><span>//</span><span>双引号字符串中包含变量$str_1</span><span> echo $str_2;

 $str_1 </span><span>=</span><span>'</span><span>我是变量的值</span><span>'</span><span>;
 $str_2 </span><span>=</span><span>'</span><span>str_1 : $str_1<br></span><span>'</span><span>;  </span><span>//</span><span>单引号中包含字符串的值</span><span> echo $str_2;

 $str_1 </span><span>=</span><span>"</span><span>我是变量的值!</span><span>"</span><span>;  
 $str_2 </span><span>=</span><span>"</span><span>str_1 : $str_12 <br></span><span>"</span><span>;  </span><span>//</span><span>引用的变量名后,多了个字符2即$str_12</span><span> echo $str_2;

 $str_1 </span><span>=</span><span>"</span><span>我是变量的值!</span><span>"</span><span>;  
 $str_2 </span><span>=</span><span>"</span><span>str_1 : ${str_1}2 <br></span><span>"</span><span>;  </span><span>//</span><span>引用的变量名后,多了个字符2即$str_12</span><span> echo $str_2;
</span><span>?></span><span>执行结果:

str_1 : 我是变量的值</span><span>!</span><span>
str_1 : $str_1
str_1 : 
str_1 : 我是变量的值</span><span>!</span><span>2</span><span>从输出可以看出,双引号字符串是赋值的含义,直接输出变量的值。而单引号的字符串,包含的是变量的名称,可以理解为直接运行语句的结果,直接输出变量的名称而不是变量的值。

$str_2 </span><span>=</span><span>"</span><span>str_1 : $str_12 <br></span><span>"</span><span>;    这句如果变量后面跟着非空格的字符,会让编译器糊涂,会把$str_12当成变量,而上面又没有定义,<img src="http://image.codes51.com/Article/image/20160304/20160304145125_8260.jpg" alt="php数据类型">因此会输出空值。为了解决这个问题可以用${str_1}</span><span>2</span><span> 或{$str_1}</span><span>2</span><span> 这个来表达。</span></p>

php数据类型

使用 PHP 函数对变量 $x 进行比较
表达式 gettype() empty() is_null() isset() boolean : if($x)
$x = ""; string TRUE FALSE TRUE FALSE
$x = null; NULL TRUE TRUE FALSE FALSE
var $x; NULL TRUE TRUE FALSE FALSE
$x is undefined NULL TRUE TRUE FALSE FALSE
$x = array(); array TRUE FALSE TRUE FALSE
$x = false; boolean TRUE FALSE TRUE FALSE
$x = true; boolean FALSE FALSE TRUE TRUE
$x = 1; integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0; integer TRUE FALSE TRUE FALSE
$x = -1; integer FALSE FALSE TRUE TRUE
$x = "1"; string FALSE FALSE TRUE TRUE
$x = "0"; string TRUE FALSE TRUE FALSE
$x = "-1"; string FALSE FALSE TRUE TRUE
$x = "php"; string FALSE FALSE TRUE TRUE
$x = "true"; string FALSE FALSE TRUE TRUE
$x = "false"; string FALSE FALSE TRUE TRUE
松散比较 ==
  TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php" ""
TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE
FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE
1 TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
0 FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE TRUE
-1 TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
"1" TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
"0" FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
"-1" TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
NULL FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE
array() FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE
"php" TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
"" FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE
严格比较 ===
  TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php" ""
TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
1 FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
0 FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-1 FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
"1" FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
"0" FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
"-1" FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
NULL FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
array() FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
"php" FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
"" FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE

以上就介绍了php数据类型,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

928

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

307

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

183

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

29

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

103

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

54

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

17

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

764

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

92

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 18.4万人学习

Pandas 教程
Pandas 教程

共15课时 | 1.1万人学习

C# 教程
C# 教程

共94课时 | 9.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号