PHP基础之变量类型

变量类型

在PHP中支持八种变量类型,其中标量类型四种,复合类型两种,还有两种特殊类型。如图所示。

变量类型通常不是由程序员设定的,准确地说,是由PHP根据该变使用的上下文在运行时决定的。如果只是判断某个变量的类型可使用is_*()函数,若想查看某个变量的值和类型可使用var_dump(),手册上说不推荐使用gettype()函数来检测某种类型,因为其返回的字符串在未来的版本中可能会改变,还有就是此函数包含字符串比较,运行也是比较慢的,可以使用is_*函数代替。

<?php

    //PHP查看变量类型的函数。
    $str = "string";
    echo gettype($str); // 输出string 注:此函数不推荐使用
    var_dump($num);     // 输出int(22)

    //PHP检测变量类型常用的函数。
    is_array();         // 判断是否是数组,返回值为true和false
    is_bool();          // 判断变量类型是否是布尔型,返回值为true和false
    is_float();         // 判断是否是浮点类型,返回值为true和false
    is_double();        // 判断变量类型是否为倍浮点数类型,返回值为true或者false。
    is_integer();       // 此函数是is_int()的别名函数,判断变量是否是数字,返回值为true或是false
    is_null();          // 判断变量是否为null,返回值为true或是false
    is_numeric();       // 判断变量是否是数字或数字字符串(如表单输入,它们通常为字符串)
    is_object();        // 判断变量是否是
    is_resource();      // 判断变量是否是资源类型
    is_scalar();        // 检测变量是否是一个标量,返回值为true或者false
    is_string();        // 检测变量是否是字符串,返回值为true或者false


类型转换

在PHP中可以根据变量或值的使用环境自动将其转换为最合适的数据类型,也可以根据需要强制转换为用户指定的类型。所以在PHP中如果没有明确地要求类型转换,都是使用默认的类型自动转换。通常只有4种标量类型(integer、float、string、boolean)才使用自动类型转换。

	允许的强制转换有:
	(int), (integer)-转换为 整型(integer)
	(bool), (boolean)-转换为 布尔型(boolean)
	(float), (double), (real)-转换为 浮点型(float)
	(string)-转换为 字符串(string)
	(binary)-转换为二进制 字符串(string) (PHP6)
	(array)-转换为 数组(array)
	(object)-转换为 对象(object)
	(unset)-转换为 NULL (PHP5)

PHP数据转换有三种转换方式:
1.在要转换的变量前上加用括号括起来的目标类型。
<?php

    //PHP强制类型转换
    $str = "12";
    $num = (int)$str;
    var_dump($num); //输出int(12)

2.使用具体的转换函数,intval()、floatval()、strval()。
<?php

    //PHP强制类型转换
    $str = "12.34";
    $i = intval($str);
    $f = floatval($str);

    var_dump($i); //int(12)
    var_dump($f); //float(12.34)

3.使用setType()函数来设置变量的类型。
<?php

    //PHP强制类型转换
    $str1 = "12.34";
    $str2 = "12.34";
    //setType()函数返回true或false。标识类型设置是否成功.
    $i = settype($str1,'int');
    $f = settype($str2,'float');

    var_dump($str1); //int(12)
    var_dump($str2); //float(12.34)





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值