php支持哪8种数据类型,PHP八种数据类型+使用实例

PHP的八种数据类型

cf68b832661b55a41e53083fb30ac163.gif PHP中变量的数据类型通常不是由程序员设定的,准确的说,是PHP根据该变量使用的上下文在运行时决定的,简单的说就是,我们不需要设定变量的数据类型,PHP会自动识别。

四种标量数据类型

boolean(布尔型)

也叫bool型,只有两种值,true或者是false,它不区分大小写

string(字符串型)

字符串是连续的字符序列,由数字,字母和符号组成。

integer(整型)

整型就是我们常说的整数,它只能是整数

float(浮点型)

浮点数据类型就是我们常见的小数,它既可以用来存储整数,也可以存储小数。

两种复合数据类型

array(数组)

数组是一组数据的组合,它把一系列的数组组合起来,形成一个可操作的整体。

object(对象)

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。

两种特殊类型

resource(资源)

资源是一种特殊的变量类型,保存了到外部资源的一个引用:如打开文件、数据库连接、图形画布区域等。

空值(null)

空值,在名字上来看它就是没有值,它表示没有为该变量设置任何值。

php:布尔型(boolean)数据类型实例详解

只能保存两个值true值和false值。它不区分大小写,所以true写成TRUE是一样的。

}else{echo '假';

}

代码运行结果:真

1dff64d41ab994dc64ab8423a711d434.gif注意:在PHP中不是只有boolean值为假,在一些特殊情况下非boolean值也被认为是假。

这些特殊情况为:0,0.0,“0”,空白字符串(“”),只声明没有赋值的数组等。

php:字符串(string)数据类型实例详解

在PHP中,有三种定义字符串的方式,分别是单引号('),双引号(“)和定界符(<<

单引号和双引号的不同之处就在双引号所包含的变量会自动的被替换成实际数值,而单引号所包含的的变量则按普通的字符创输出,这段换什么意思呢,我们下面来一下示例

单引号和双引号定义字符串不同之处的示例

<?php $i = 'cyy';echo "$i";echo "

";echo '$i';

示例运行结果如下图:

43a157830e4620e3f5edfc952a85668b.png

除了上面的不同点之外,再有就是两者对转义字符的使用不同。使用单引号时,只要对单引号“ ' ”进行转义即可,但使用双引号(")时,还要注意“ " ”、“$”等字符的使用,这些特殊字符都要通过转义符“”来显示,常用的转义字符如下表:

89b67416336e52a6f02d7f3dff3700cd.png

4d838f7774df30f0d03d12e9af82a30c.gif这里有一点要注意的是,

和在Windows系统中没有什么区别,都可以当作回车符。但是在Linux系统中则是两种效果,在Linux中,

表示换到下一行,却不会回到行首;而表示光标回到行首,但仍然在本行,如果有使用Linux操作系统的,可以尝试一下。

在定义一些简单的字符串时,使用单引号是一个更好的处理方式。如果使用双引号,PHP将花费一些时间来处理字符串的转移和变量的解析,因此,在定义字符串时,如果没有特别的要求,我们最好使用单引号

界定符示例

代码如下:

这和双引号效果相同,可以输出$i
$i的值为: $istd?>

代码运行结果:

4a19689b42006e35708474630a44475b.png

f17eff2c34a3360a6e28ee1cd40719f7.gif结束标识符必须单独另起一行,并且不允许有空格。在标识符前后有其他字符或符号,也会发生系统错误,包括注释。

php:整型(integer)数据类型实例详解

什么是整型数据类型

整型数据类型就是我们常说的整数,它只能是整数,像123456,或者-123456,这都代表整型,这些是十进制的,还可以写八进制的,十六进制的。如果使用八进制表示,数字前面必须加0,如果用十六进制,需要加0x.

整型是要有一个有效范围的,有效范围是-2447483648~+2147483647

既然有存储范围了,那我们现在说两个整型相加一定等于整型吗?不一定,因为超过了整型的存储范围呢会产生一种现象,叫做溢出的现象,当给定的数值超出了int型所能表达的最大范围时,将会被当做float型处理,浮点类型它的存储范围比整型大。

e84b2694227c6c4a620c11418c5a39f0.gif如果在八进制中出现了非法数字(8和9),则后面的数字会被忽略掉。(最新测试页面似乎停止运行了)

php:浮点型(float)数据类型实例详解

浮点型的有效范围是1.8E-308~1.8E+308。

浮点型数据默认有两种书写格式,一种标准格式,如下

3.1415

-35.8

还有一种科学记数法格式

3.14*10^3 可以使用3.14e3来表示

浮点(float)数据类型示例

在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:

<?php $x = 10.3605;var_dump($x);echo '
';$x = 2.4e3;var_dump($x);echo '
';$x = 8E-5;var_dump($x);echo '
';

代码运行结果:

65bbac0aaaf95b0de6dbddaa41271881.png

547f6eb345a88841ab9977b9d2e22c7d.gif浮点型的数据只是一个近似的值,所以要尽量避免浮点型数值之间的比较大小,因为最后的结果都是不准确的。像下面这样

}else{echo 'false';

}

代码运行的结果:false

php:数组(array)数据类型实例详解

数组的定义示例

<?php $arr1 = array('a','b');$arr2 = array(0=>'a',1=>'b');$arr3 = ['a','b'];$arr4[0] = 'a';

数组中的元素个数是可以更改的,只要给数组赋值,数组就会自动增加长度。

php:对象(object)数据类型实例详解

如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示 当前对象 或 对象本身 。

例子:

var $name; //人的名字

var $age; //人的年龄

//人的成员 say() 方法

functionsay() {echo "我的名字叫:".$this->name."
";echo "我的年龄是:".$this->age;

}

}//类定义结束

//实例化一个对象

$p1 = newPerson();//给 $p1 对象属性赋值

$p1->name = "cyy";$p1->age = 25;//调用对象中的 say()方法

$p1->say();

运行该例子,输出:

我的名字叫:cyy

我的年龄是:25

php:资源(resource)数据类型实例详解

什么是资源数据类型?

资源数据类型是PHP4引进的。资源是一种特殊的变量类型,保存了到外部资源的一个引用:如打开文件、数据库连接、图形画布区域等。

资源是通过专门的函数来建立和使用的。

资源变量在PHP中的使用

打印结果:

185c39c8afb68f035d1870d69235568b.png

php:空值(null)数据类型实例详解

空值(null)是不区别大小写的,也就是null与NULL或Null是一样的。

在PHP中被赋予空值的情况有三种:

第一种:

尚未被赋值

第二种:

被赋值为 NULL。

第三种:

被unset()函数处理过的变量

dd2f1df66f33056e69a3f5ec5a5659cf.gifis_null函数用来判断变量是否为null,这个函数是返回一个boolean型,如果变量为null,则返回true,否则返回false。unset()函数是用来销毁变量。

php数据类型转换实例详解

ce53ce3225edd08726d797c629dcaaa7.png

PHP中的类型转换非常简单,有三种转换方法:

第一种:

只需要在要转换的变量之前加上用括号括起来的类型名称即可,像下面这样

<?php $num1 = 3.14;$num2 = (int)$num1;var_dump($num1);echo '
';var_dump($num2);

代码运行结果:

0fbe6ae8ac8fb098094ccbdf6c38f1b0.png

第二种:

使用3个具体类型的转换函数,intval()、floatval()、strval()

<?php $num = '123.9abc';$num2 = intval($num);var_dump($num2);echo '
';$num2 = floatval($num);var_dump($num2);echo '
';$num2 = strval($num);var_dump($num2);

代码运行结果:

429d97c7c357fa094bad1f383e3bc678.png

1b4cc6bd15adcb354038ca8d36f99276.png

第三种:

使用settype()函数,该函数可以将指定的变量转换成指定的数据类型,参数var为指定的变量;参数type为指定的数据类型。参数type有7个可选值,即boolean,float,integer,array,null,object和string,如果转换成功setype()函数返回true,否则返回false。如下:

<?php $num = '123.9';$res = settype($num,'int');var_dump($res);echo '
';var_dump($num);

代码运行结果:

488b11b75bfdd1c176a64576942fa8df.png

83584f357e76afc01a8cf901ba29fce4.png

faf40254c125ef7a52f3b498979cdd56.gif当字符串转换为整型或浮点型时,如果字符串是以数字开头的,就会先把数字部分转换为整型,在舍去后面的字符串;如果数字中含有小数点,则会取到小数前一位。

PHP数据类型转换实例

本实例将使用第一种和第三种两种方法将指定的字符串进行类型转换,比较两种方法之间的不同,代码如下:

<?php $num = '3.1415926r*r';echo (integer)$num.'
';echo $num.'
';echo settype($num,'integer').'
';echo $num;

代码运行结果:

294e545206a629b73cb99f347a7c2fd0.png

从上面的的实例可以看到,使用integer操作符能直接输出转换后的变量类型,并且原变量不发生任何变化。而是用settype()函数返回的是1,也就是true,原变量就改变了,在实际应用中,可根据自己的需求选择转换方式。

PHP数据类型检测实例详解

PHP检测数据类型的函数如下表

3a9b64bd0a44a089d7fd8ad852cb58a9.png

PHP数据类型检测实例

PHP检测数据类型的函数功能和用法都是相同的,我们下面的实例使用is_numeric()函数来检测变量中的数据是否是数字。

}else{echo '不是数字类型';

}

欢迎QQ沟通讨论:965794175

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java+jsp+servlet的养老院管理系统设计和实现《收藏版》

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345; 文末获取源码联系方式 &#x1f4dd; 一、 选题的依据…

oracle ldap 配置,Ubuntu安装OpenLDAP之配置LDAP

Ubuntu配置OpenLDAP上一篇博文中&#xff0c;我们成功的安装了OpenLDAP-2.4.4到系统中&#xff0c;这篇文章介绍如何基于上一篇文章配置一个自己的ldap服务器来使用。(上篇见 http://www.linuxidc.com/Linux/2016-05/130997.htm)1 配置ldap的dc和cnvim /usr/local/etc/openldap…

基于jsp+mysql+mybatis+Spring boot简单学生成绩信息管理系统

1.项目开发背景和意义 随着科学技术的快速发展和不断提高&#xff0c;尤其是计算机科学技术的日渐普及&#xff0c;其功能的强大以及运行速度已经被人们深刻地了解。近几年来高校的办学模式多元化和学校规模的扩大&#xff0c;为了实现对学生信息进行科学管理&#xff0c;因此…

oracle安装时配饰失败了,【求助】急!!!!oracle客户端安装时创建实例失败

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼信息: INFO: Registering the flow data beans信息: INFO: [INS-07001] 在 BeanStore 中找不到属性 INSTALL_TYPE 的值。信息: INFO: [INS-07001] 在 BeanStore 中找不到属性 oracle_install_WindowsSystemDirectory 的值。信息: I…

基于Java+jsp+servlet的养老院管理系统设计和实现

一、 选题的依据及意义 随着信息化技术的发展&#xff0c;敬老院的信息化管理也迎来了机遇和挑战&#xff0c;我们积极应对这场战斗&#xff0c;丝毫不懈怠。因为&#xff0c;在未来的互联网是一个开放的环境&#xff0c;而传统的管理是一个独立的对象维护和医疗管理模式&…

oracle9i查等待事件,Oracle9i中的一个特殊等待事件

那是不是我们每当遇到性能问题的时候都要patch到9.2.0.3呢&#xff1f;我们已经知道他的真实情况依然在v$session_wait的p1、p2、p3参数里体现&#xff0c;所以&#xff0c;我们可以根据这些参数&#xff0c;找出这个null event究竟是什么等待事件。相关信息&#xff1a;1. lck…

基于Java+springmvc+mysql+jquery实现企业员工管理系统

研究背景 计算机网络技术的发展&#xff0c;给信息时代的人们带来了很大的方便。如今在Internet上&#xff0c;随处都可以看到种类繁多的信息管理系统&#xff0c;比如&#xff0c;企业办公化自动管理系统&#xff0c;电子商务系统&#xff0c;高校教务管理系统等等。随着信息…

linux tee相同命令,LINUX 笔记-tee命令

学习C语言感悟还记得刚上第一节C语言课的时候,基本上一节课只有最后10分钟的内容听懂了.在此之前从没接触过C语言,想说看看书预习一下吧,可是完全找不到条理,发现老师也不是按书上的顺序讲的.当时就特别着急,想说难道 ...c c&plus;&plus;怎么判断一个字符串中是否含有汉…

linux svn 服务器下载,Linux下搭建SVN服务器完全手册

系统环境RHEL5.4最小化安装(关iptables,关selinux) ssh yum一&#xff0c;安装必须的软件包.yum install subversion (SVN服务器)mysql-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)sendmail (用于配置用户提交代码后发邮件提醒)wget…

npm install packagename 安装失败的解决办法

今天用idea运行前端vue项目的时候报错 看了一下vue对于国内镜像而言安装可能会报错 解决方法&#xff1a; 安装淘宝镜像 npm --registry https://registry.npm.taobao.org info underscore 搞定

linux删除权限命令,管理使用者和设立权限的命令

管理使用者和设立权限的命令命令说明命令说明chmod用来改变权限useradd用来增加用户su用来修改用户5.1 chmod命令chmod命令用来改变许可权限。读取、写入和执行是许可权限中的三个主要设置。因为用户在他们的账号被创建时就被编入一个组群&#xff0c;所以还可以指定那些组群可…

基于jsp+mysql的JSP在线水果销售商城系统设计实现

java毕业设计项目《100套》推荐 研究意义 日益发展的信息技术&#xff0c;互联网经济的快速兴起&#xff0c;网上的购物日益受到人们的关注&#xff0c;蔬菜水果网上批发市场模式也必然成为其潮流发展一部分。 基于 springboot 技术的水果在线批发系统借助于遍布全球的互联网&…

基于JAVA springboot+mybatis 电商书城平台系统设计和实现

本项目演示地址链接 》 主要实现了书城网站的浏览、加入购物车操作、订单操作、支付操作、分类查看、搜索、以及后台上传图书信息以及订单管理和一些基本操作功能 摘要信息&#xff1a; 随着市场经济的逐渐形成&#xff0c;全球化经济已在国内迅速发展起来。以往的销售模式正…

linux 运行长后内存就满了,关于Linux 内存的使用,你确定真的理解吗?

原标题&#xff1a;关于Linux 内存的使用&#xff0c;你确定真的理解吗&#xff1f;作者&#xff1a;coloriy

基于java springboot的图书管理系统设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java奥斯卡 公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

linux文件大小和目录,查看Linux目录和文件大小

1、查看 /opt 整个目录大小[rootlocalhost xml_onvif]# df -h /optFilesystem Size Used Avail Use% Mounted on/dev/sda2 18G 12G 5.3G 69% /2、查看 /opt 目录下的文件大小[rootlocalhost xml_onvif]# ls -lh /opt/total 442Mdrwxr-xr-x 6 ro…

基于javaspringboot+mybatis汽车信息管理系统设计和实现

演示地址 主要实现技术&#xff1a;Java、springmvc、springboot、mysql、mybaits、jQuery、js、css等、使用eclipse/idea运行。 主要功能模块 1.用户模块管理&#xff1a;用户登录、用户注册、用户的查询、添加、删除操作、 2.汽车类型管理&#xff1a;.汽车类型列表的展示…

linux推箱子脚本,【编程例题】标准C语言实现推箱子游戏!附解析!

今天我来分享一道对于初学C语言的同学非常有启发作用的编程例题&#xff0c;是用C语言实现单张地图推箱子的小游戏。这个游戏是基于Linux环境下编程的&#xff0c;所用工具为ubuntu、和gcc编译器。首先推箱子的地图&#xff0c;我们根据经典游戏推箱子中的其中一幅地图来自做&a…

基于JavaSwing+mysql的图书管理系统设计和实现

前言&#xff1a; 项目是使用Java swing开发&#xff0c;可实现基础数据维护、图书类型管理和维护、图书信息管理和维护、注销退出、关于作者简介等功能。界面设计比较简介、适合作为Java课设设计以及学习技术使用。 引言 随着计算机及网络技术的飞速发展&#xff0c;Intranet …

linux的vi把文件合并一行,学习Vim合并行的方法和技巧

刚接触 Vim 会觉得它的学习曲线非常陡峭&#xff0c;要记住很多命令。所以这个系列的分享&#xff0c;不会教你怎么配置它&#xff0c;而是教你怎么快速的使用它。在开发时为了代码美观&#xff0c;经常会把属性用换行的方式显示。title"批量编辑所属组织":visible.s…