Day8 PHP数据类型

在php 中总共有这8种数据类型,接下来我会对数据类型做一个介绍。

  • String(字符串)
  • Integer(整型)
  • Float(浮点型)
  • Boolean(布尔型)
  • Array(数组)
  • Object(对象)
  • NULL(空值)

分类

  • 基本类型

字符串类型(string):PHP 只能支持256 的字符集,因此不支持Unicode
整型(int/integer):系统分配四个字节存储,表示整数类型
浮点型(float):系统分配八个字节存储,表示小数或者超出范围的整型数
布尔型(boolean):true和false两个值

  • 复合类型

数组(array):存放一组数据
对象(object):存放对象

  • 特殊类型

资源(resource):存放PHP外部数据,比如数据库,文件等
null类型(null):只有一个值null,不能运算

类型判断

查看数据类型有两种方式

  1. gettype (传入一个变量) 能够获得变量的类型(bool、int、double、string、array、object和resource),如果变量类型不是标准类型之一,该函数就会返回unknown type(未知类型)

  2. var_dump (传入一个变量) 输出变类型和值

  3. is_*()

<?php
 //gettype
$float = 87.87;
$type = gettype($float);
echo $type;
echo '<hr>';

// var_dump
$str = 'Winnie is a cute bear.';
var_dump($str);

结果:

  • is_*()

is_*()类型判断函数来判断此变量保存的数据是什麽类型的,这些函数以is_作为开头,後面加数据类型。

is_bool():判断是否是布尔型
is_int()、is_integer()和is_long():判断是否为整型
is_numeric():判断是否是任何类型的数字和数字字符串
is_float()、is_double()和is_real():判断是否为浮点型
is_string():判断是否为字符串
is_array():判断是否为数组
is_object():判断是否为物件(对象)
is_resource():判断是否为资源类型
is_null():判断是否为null

<?php
#PS.以下用var_dump判断是否是布尔值,如果用print_r判断如果真输出1,假不输出,因此用var_dump方便看输出结果

//is_bool — 测变量是否是布尔值
$bool = true;
var_dump(is_bool($bool));

//is_int — 测变量是否是整数
//is_integer函数是 is_int() 的别名函数。
$num = 8887;
var_dump(is_int($num));
var_dump(is_integer($num));

$num = '8887';
var_dump(is_int($num));//false

//is_numeric测变量是否是数字或数字的字串
$num = 8887;
var_dump(is_numeric($num));
$num = '8887';
var_dump(is_numeric($num));
 
//is_double — is_float() 的别名   测变量是否是浮点数
//is_real — is_float() 的别名
$num = 8887.99;
var_dump(is_double($num));
var_dump(is_float($num));
var_dump(is_real($num));
 
//is_string — 测变量是否是字符串
$str = 'Winnie';
var_dump(is_string($str));
 
//测变量是否是数组	
$arr = array('W','i','n','n','i','e');
var_dump(is_array($arr));
 
//is_object — 测变量是否是一个物件
class Obj{}
$obj = new Obj();
var_dump(is_object($obj));
 
 
//is_resource — 测变量是否是资源类型
$fp = fopen('test.php', 'rw');  
var_dump(is_resource($fp));

//is_null — 测变量是否是 NULL
$test = null;
var_dump(is_null($test));
print_r(is_int($test)); //不输出

<<:  Day 08 - Kbars

>>:  [Day8]Where子句实作

Day6-控制器是在控什麽 controller说明

pod的管理与控制 对k8s来说,pod是k8s最小的元件,但是当我们在使用时,通常不会直接对pod...

Raspberry pi 与周边的沟通

Raspberry pi 提供的40根Pin中 有26个GPIO可用 当中有几个串列传输的技术是我们...

登录档的五大根键--设计结构的sense

在上一篇,我们介绍了登录档的结构和物理位置,现在你意识到他的存在,那今天就是接续前一篇最後的预告,我...

Gulp 与 Git DAY92

在我们的资料夹内 只会将 source资料夹加入版控 这里我们就来利用 git 来版控啦~~ 输入 ...

[Android Studio] -- Day 4 Gallery与EcoGallery

前言 过年爽爽放,该回来复习复习拉WW,大家新年快乐 今天原本是要来练习以前都没接触过的galler...