03-数据类型


PHP变量的类型

PHP支持八种原始类型---var_dump()
- 四种标量
    布尔型(boolean)
    整形(integer)
    浮点型(float)(读点书,也作double)
    字符串(String)
- 两种符合类型
    数组(Array)
    对象(Object)
- 两种特殊类型
    资源(Resource)
    NULL

布尔值

布尔值表示为:true/false
当其他类型转换为boolean类型时,某些值也被认为是false(假):

  • 布尔值false
  • 整型值 0
  • 浮点型 0.0
  • 空白字符串和字符串"0"
  • 空数组
  • NULL
    其它的值都被认为是true(真)
其他的类型也可以表示为布尔值比如:
<?php
//boolean false
//int 0
//float 0.0,0.00
//String "","0"
//array 空数组
//NULL 
$boolean = "0";
if($boolean){
    echo "这是真值";
}else{
    echo "这是假值";
}
?>
输出:这是假值

整型和浮点型

整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)代表数值的正负。

<?php
    $a = 1234; 	// 十进制数
    $a = -123; 	// 一个负数
    $a = 0123; 	// 八进制数(等于十进制的 83)
    $a = 0x1A; 	// 十六进制数(等于十进制的 26)
?>

整数值有最大的使用范围,这与平台有关,对于32位系统而言范围:-2147483648~2147483647,PHP不支持无符号整数。如果超出了则变成了float型。

<?php
$large_number=2147483648;
var_dump($large_number);
?>
输出:float(2147483648)

浮点数(也叫双精度数或实数)是包含小数部分的数。通常用来表示整数无法表示的数据,如金钱值、距离值、速度值等。浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度。
可以用以下任何语法定义:

<?php
    $a = 1.234;
    $a = 1.2e3;	 //相当于1.2*103即1200
    $a = 7E-10;	//相当于7*10-10即0.0000000007
?>

字符串类型

字符串声明

  1. 在php中,一个字符和多个字符都是字符串
  2. 声明一个字符串必须使用单引号或双引号引起来
  3. 字符串是没有长度限制的
  4. 在单引号中可以使用双引号,在双引号中也可以使用单引号
  5. 在单引号中不可以再使用单引号,在双引号中也不可以使用双引号
  6. 可以使用转义字符 \
<?php
    $a="hello";
    $b='hello';
?>

单引号和双引号的区别

  1. 在双引号可以解析变量,在单引号中不能解析变量(变量可以加{}解析)
  2. 在双引号中可以使用转义字符 \n \r \t ,在单引号中不能使用转义字符(在单引号中只能转移单引号自己和转义符号本身)
\n 换行
\r 回车
\t 水平制表符
\\ 反斜线
\$ 美元符号
......

定界符号声明字符串

  1. 使用<<<小于号
  2. 在开始的定界符(自定义的字符串中)一定要左边挨着<<<,写完定界的字符串,一定要,直接回车(空格都不可以)
  3. 在结尾的字符串定界中,一定要顶头写,和开始的字符串要一致,并且回车
  4. 使用单引号在开始的定界符中,将支持双引号的功能改为单引号的功能
<?php
$int=5;
$a=<<<hello
	black $int red \$ a
hello;

$b=<<<'word'
	black $int red \$ a
word;
echo $a;
echo "</br>";
echo $b;
?>
输出:black 5 red $ a
      black $int red \$ a

变量之间的类型转换

数据类型强制转换

  1. PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型
  2. 允许的强制转换有:
  • (int),(integer)-转换成整型
  • (bool),(boolean)-转换成布尔型
  • (float),(double),(real)-转换成浮点型
  • (string)-转换成字符串
  • (array)-转换成数组
  • (object)-转换成对象
  1. 注意在括号内允许有空格和制表符,为了将一个变量还原为字符串,还可以将变量放置在双引号中

变量类型的测试函数

  • is_bool():判断是否是布尔型
  • is_int()、is_integer()、is_long():判断是否为整型
  • is_float()、is_double()、is_real():判断是否为浮点型
  • is_string():判断是否为字符串
  • is_array():判断是否为数组
  • is_object():判断是否为对象
  • is_resource():判断是否为资源类型
  • is_null():判断是否为null
  • is_scalar():判断是否为标量
  • is_numberic():判断是否是任何类型的数字和数字字符串
  • is_callable():判断是否是有效的函数名
  • bool settype(mixed var,string type) :将变量var的类型设置为type
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值