侧边栏壁纸
博主头像
MeowRain

  大家好,我是MeowRain,中文可读作喵雨,至于为什么起这个名字,其实是因为英文里的rain和我的名字有谐音字,哈哈😄,再一个就是我比较喜欢猫咪,也养着一只小猫咪(叫小喵,目前是我姐姐代养,自己太忙了顾不上照顾小猫咪)所以就叫MeowRain啦。

  • 累计撰写 168 篇文章
  • 累计创建 48 个标签
  • 累计收到 5 条评论

php数据类型分类+类型转换+类型判断

MeowRain
2020-10-01 / 0 评论 / 0 点赞 / 80 阅读 / 3,539 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-08-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

数据类型

PHP的8种数据类型

基本数据类型

  • ==整形==:int/integer 系统分配四个字节存储,表示整数类型

  • ==浮点型==:float/double,系统分配8个字节存储,表示小数或者整形存不下的

  • ==字符串型==: string,系统根据实际长度分配,表示字符串(引号)

  • ==布尔类型==:bool/boolean,表示布尔类型,只有两个值:true/false

  • ==复合数据类型==:2个小类

  • ==对象类型==:object,存放对象

  • ==数组类型==:array,存储多个数据

  • ==特殊数据类型==:2个小类

  • ==资源类型==:resource,存放资源数据(PHP外部数据,如数据库,文件)

  • ==空类型==:NULL,只有一个值就是NULL


PHP 字符串

==字符串是字符序列==,比如 "Hello world!"。

字符串可以是引号内的任何文本。您可以使用单引号或双引号:

实例

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;
?>

PHP 整数

整数是没有小数的数字。

整数规则:

  • 整数必须有至少一个数字(0-9)
  • 整数不能包含逗号或空格
  • 整数不能有小数点
  • 整数正负均可
  • 可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)

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

实例

<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>

效果:


PHP 浮点数

浮点数是有小数点或指数形式的数字。

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

实例

<?php 
$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);
?>


PHP 逻辑

逻辑是 true 或 false。

$x=true;
$y=false;

逻辑常用于条件测试。您将在本教程稍后的章节学到更多有关条件测试的知识。

PHP 数组

数组在一个变量中存储多个值。

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

实例

<?php 
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>

PHP 对象

对象是存储数据和有关如何处理数据的信息的数据类型。

在 PHP 中,必须明确地声明对象。

首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。

然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:

实例

<?php
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>


PHP NULL 值

特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。

NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。

可以通过把值设置为 NULL,将变量清空:

实例

<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

类型转换

在很多条件下,需要指定的数据类型,需要外部数据转换成目标数据类型

在PHP中,有两种类型转换方式:

  1. 自动转换

  2. 手动转换

<?php 
$a = "abc1.1";
$b = '1.1abc';
// 自动转换
echo $a+$b;
echo "<br>";
var_dump($a,$b);
echo "<hr>";
//手动转换
echo "<br>",(float)$a,"<br>",(float)$b;
$c = (float)$a;
$d = (float)$b;
echo "<br>";
echo $c,"<br>",$d;
echo "<br>";
var_dump($c,$d);
 ?>

效果:

类型判断

通过一组类型判断函数来判断变量,最终返回这个变量所保存数据的数据类型:是一组以is_开头后面跟类型名字的函数(相同结果为true,不同结果为false)

is_XXX(变量名)

Bool类型不能用echo来查看,可以使用 var_dump(变量1,变量2)

<?php 
$a ="dsafs";
$b = 20;
$c = 20.5;
var_dump(is_string($a)); // true
echo "<hr>";
var_dump(is_int($b)); // true
echo "<hr>";
var_dump(is_float($c));// true
echo "<hr>";
echo "下面改一下:";
var_dump(is_string($b));//false 查看$b是不是字符串,显示为false,因此可以判断$b不是字符串,通过上面is_int判断出true,可以知道,$b是个整形,即为一个整数

 ?>

还有一组函数可以用来获取以及设定数据类型

==Gettype==(变量名): 获取类型,得到的是该类型对应的字符串

==Settype==(变量名): 设定数据类型,与强制转换不同

  1. 强制转换(类型)变量名,是对数据值复制的内容进行处理(不会处理实际存储的内容)
  2. settype会直接改变数据本身
<?php 
$a = 20;
echo gettype($a); //得到a的数据类型,为integer
echo "<hr>";
echo gettype((string)$a); //强制转换a的数据类型>>string,并得到此时复制并更改得到的值,得到的类型为string
echo "<hr>";
var_dump(is_string($a));//false,可见这里并没有根本上改变a的数据类型,只是在上面更改了复制得来的a的值
echo "<hr>";

//下面将会根本上改变a的数据类型

echo settype($a, 'string'); // settype会直接改变数据本身,直接改变了a的数据类型
echo "<hr>";
var_dump(is_string($a));//判断此时a的数据类型是不是已经被改变了


 ?>
0

评论区