前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP数据类型

PHP数据类型

作者头像
白胡杨同学
发布2020-04-10 10:14:11
3.5K0
发布2020-04-10 10:14:11
举报
文章被收录于专栏:白胡杨同学

标量数据类型

1、布尔型

布尔型值只有两个:true和false

代码语言:javascript
复制
<?php
$open = true;
if($opem){
    echo "opening";
}else{
    echo "closed";
}
?>

2、字符串型

  • 双引号:直接用引号引起来,包含的变量会被解析,速度慢。
  • 单引号:直接用单引号引起来,所有内容都不会被解析,速度快。

3、整形

可以用十进制、二进制、八进制、十六进制表示,前面加上“+”和“-”表示正整数和负整数

  • 八进制整数:在数字前面加上0
  • 十六制整数:在数字前面加上0x
  • 二进制整数:在数字前面加上0b
代码语言:javascript
复制
<?php
  $a = 12;  
  $b = 012;  
  $c = 0b10101010;  
  $d = 0x2f67;  
?>

整形数据的数值范围与平台有关:

  • 32位系统:取值范围-2^31~2^31
  • 64位系统:取值范围-2^64~2^64

4、浮点型

浮点型数据也叫双精度数或实数,其定义方式有:

  • 标注格式定义:$a = 1.234.
  • 科学技术法格式定义:$b = 1.2e3

NAN是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值

常用is_NAN()来判断某些运算结果是否是一个数值:

结果是数值返回false

结果是NAN返回true

复合数据类型

复合数据类型包括数组和对象两种数据

1、数组

数组表示一组有序数据的集合。数组中的每个数据单元为一个元素。

元素有索引(键名)和两个部分构成。

索引通常为整数或字符串,值为任意类型的数据。

定义方法1:运用array()函数
代码语言:javascript
复制
<?php
  $array = array(1,2,3,4,5);
?>
代码语言:javascript
复制
<?php
$array = array("a"=>1,"b"=>2,"c"=>3);
?>
定义方法2:直接赋值
代码语言:javascript
复制
<?php
$array["a"] = 1;
$array["b"] = 2;
$array["c"] = 3;
$array["0"] = 4;
$array["1"] = 5;
?>

array()函数可以接受任意数量的数组,或者用逗号隔开的键/值对,之间用“=>”隔开。

2、对象

对象是面向对象编程的基础。

可以用NEW命令对一个类实例化:

代码语言:javascript
复制
<?php
$pdo = new PDO($dsn,$username,$password)
?>

特殊数据类型

1、空值

空值表示变量没有任何值,表示为NULL,不区分大小写。

以下情况,变量为空:

  • 没有赋值,如“$a”.
  • 赋值为NULL或null,如 “$b = null”.
  • 被unset()函数处理的变量,如“c = 10 unset(c)”

2、资源

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

  • 打开文件:$file= fopen(“f.txt”,’r’).
  • 连接数据库:$con =mysqli_connect(“localhost”,”root”,”123456”).
  • 图形画布:$img = imagecreate(100,100).

数据类型检测

函数名

返回值

is_bool

检测是否为布尔型,返回true或false

is_string

检测是否为字符型,返回true或false

is_float

检测是否为单精度浮点型,返回true或false

is_double

检测是否为双精度浮点型,返回true或false

is_integer

检测是否为整型,返回true或false

is_int

检测是否为整型,返回true或false

is_numeric

检测是否为数字或数字组成的字符串,返回true或false

is_null

检测是否为空类型,返回true或false

is_array

检测是否为数组类型,返回true或false

is_object

检测是否为对象类型,返回true或false

var_dump

直接打印数据

PHP类型转换

(1)在要转换的变量前面加上用括号括起来目标类型

转换操作符

解释

(int)(integer)

转换为整型

(string)

转换为字符串型

(float)(double)

转换为浮点型

(array)

转换为数组类型

(object)

转换为对象类型

(unset)

转换为空

(binary),b前缀

转换为二进制字符串

(2)使用三个具体类型的转换函数

intval()函数、floatval()函数、strval()函数

代码语言:javascript
复制
<?php
$str = "542.83";
$int = initval($str);   //转为整型:542
$float = floatval($str); //转为浮点型:542.38
$str = strval($flaot);  //转为字符型串型:“542.83”
?>

(3)使用通用类型转换函数 ——settype(mixed var,string type)函数:

代码语言:javascript
复制
<?php
$num = 32.78;
$mal = settype($num,"int");
var_dump($mal);  //输出bool(true)
var_dump($num);  //输出int(32)
?>

在进行布尔类型转化时,在返回false或出现下面布尔型时,改布尔值被认定为假,否则被认为为真。

  • 整形值0
  • 浮点型0.0
  • 空字符串 “”
  • 不包含任何元素的空数组
  • 不包含任何变量的空对象
  • 空值NULL和其他尚未设定的变量
  • 从未进行标记的xml文档生成的simplexml对象

布尔类型转为整形是:false变为0,true变为1;

布尔型转为字符串时:flase变为 “”,true变为1;

浮点型转为整形时:将向零取整;

整形或浮点型转为字符串时:会变成数字样式的字符串;

当空数组转化为字符串时:会变成 “Array”;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 标量数据类型
  • 复合数据类型
  • 特殊数据类型
  • 数据类型检测
  • PHP类型转换
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档