php基础(5)_数据类型

数据类型:(data type)在php中指的是存储的数据本身的类型,而不是变量的类型,PHP是一种弱类型语言,变量本身没有数据类型。

PHP的八种数据类型:在PHP中将数据分为三大类八小类:

    简单(基本)数据类型:4个小类
         整形(int/integer):系统分配4个字节存储,表示整数类型(有前提)
         浮点型(float/double):系统分配8个字节,表示小数或者整形存不下的整数
         字符串型(string):系统根据实际长度分配,用(引号)表示字符串
         布尔类型(bool/boolean):表示布尔类型,只有两个值:true和false

    复合数据类型:2个小类
         对象类型(object):存放对象(面向对象)
         数组类型(array):存储多个数据(一次性)

    特殊数据类型:2个小类
         资源类型(resource):存放资源数据(PHP外部数据,如数据库、文件)
         空类型(NULL):只有一个值就是NULL(不能运算)

数据类型转换

类型转换:在很多的条件下,需要指定的数据类型、需要外部数据(当前PHP获取的数据)
转换成目标数据类型

    数据类型有两种类型转换方式:
         1、系统自动转换  
         2、强制(手动)转换:人为根据需要的目标类型转换

              ①系统自动转换 
                   在转换过程,用的比较多的是转布尔类型(判断)和转数值运行(算术运算)
                   其他类型转布尔类型(判断):true或false(多数(非零)为true)

                        字符串转数值的说明(算术运算)
                             1、布尔true为1,false为0;

<?php
    $a = 1;
    $b = 2;
    $c = $a.$b;                //整型自动转化为字符串型,.表示连接符,连接1和2
    var_dump($c);              //var_dump函数用于打印显示,一个变量的内容与结构,以及类型的信息。
        if ($c) {              //字符串型自动转化为布尔类型,用于判断
                     echo "真";     //编译结果:string(2) "12"
                }                   //         真
?>                                  //

                             2、字符串转数值有自己的规则
                                   2.1 以字母开头的字符串,永远为0;
                                   2.2 以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点,第二个小数点后面的数字不会读取)

<?php
    $a = 'abc1.2.1';  //自动转换为0
    $b = '1.3.2ab';   //自动转换为1.3
    echo $a + $b;     //编译结果:1.3
?>

              ②强制(手动)转换
                   强制转换规则:在变量之前增加一个括号(),然后在里面写上对应的类型,如int,string,float等,其中NULL类型用到unset()

<?php
$a = 'abc1.2.1';$b = '1.3.2ab';      //编译结果:0
echo (float)$a."\n".(float)$b;       //         1.3
?>

数据类型判断

    通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据的数据类型(是返回结果是为true,不是为false):是一组以is_开头后面跟类型名字的函数:is_xxx(变量名) 如:
    is_int(),is_bool(),is_float() 等等(手册查看)  //返回结果 bool (true)或bool (false)

    注意:Bool类型不能用echo来查看,可以使用var_dump结构查看:Var_dump(变量1,变量2...)

<?php	      
    $a = 'abc1.2.1';            //编译结果:
    var_dump(is_int($a));       //          bool(false)
    var_dump(is_string($a));    //          bool(true)
?>

    还有一组函数可以用来获取以及设定数据(变量)的类型
         Gettype(变量名):获取变量类型,得到的是该类型对应的字符串
         Settype(变量名,类型):设定变量数据类型(设定成功返回bool (true),失败返回bool (false)):与强制转换不同
              1、强制转换(类型)变量名,是对数据值复制的内容进行处理(不会处理实际存储的内容)
              2、settype会直接改变数据本身

 <?php   
    $a = 'abc1.2.1';              
    echo gettype($a)."\n";        //编译结果:string
    var_dump(settype($a,'int'));  //         bool(true)
    echo gettype($a)."\n".$a;     //         integer
?>                                //         0

 

    

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值