php之路 2——php数据类型以及常量使用

来源:互联网 发布:数据分解传输技术 编辑:程序博客网 时间:2024/06/06 00:05

 数据类型之间相互转换
一种是强制转换:
1、setType(变量名, 类型);  //类型int, integer, float, double,real, bool, boolena, string, array, object

      这个函数将原变量的类型改变

              $str="100.12345abc";
              setType($str, bool);
              var_dump($str);


2、在赋值前使用(类型)的形式, 不会改变原变量的类型 

      $a=(int)"123abc";


3、在赋值前使用函数的形式, 不会改变原变量的类型
      $变量=intval(变量或值);
      $变量=floatval(变量或值);

      $变量=stringval(变量或值);

                      $str="100.12345abc";
              $a=intval($str);
              var_dump($a);
              var_dump($str);


                注:可以用var_dump(变量名)函数查看变量的类型与值。


注意: 整型在内存中占4个字节,  最大值是2.147e9
     浮点型在内存中点8个字节,所以在两者进行强制转换是要注意是否超过了整型的界限。

字符串的强制转换:

                             字符串只有在字符串开头有数字时才可以将开头的数字转换成整型或者是浮点型,否则都会转换为0。

                     $a="123.123e5abc999def100";
                     $int=floatval($a);
                     echo $int;   //结果12312300

                             

                     $a="abc999def100";
                     $int=floatval($a);
                     echo $int;    //结果0

                             




一种自动转换 : 最常用的方式,因为这种我们开发时不用去管理类型,变量会根据运行环境自动转换 

                              $a=10;
                              $b="100abc";
                              $c=true;
                              $d=12.34;
                              $sum=$a+$c+$b+$d;
                       var_dump($sum);  //结果:浮点型



 与变量和类型有关的一些常用函数
    isset();     值如果是null,也表示空。例:$a=null;   则   isset($a)为false。
    empty();   判断一个变量是否为空, “”  null
    unset();    回收变量。
    setType();  
    getType();   得到变量的类型
    var_dump();  同时得到变量的类型跟值
    变量类型测试函数
    is_bool();
    is_int() is_integer() is_long()
    is_string();
    is_float(), is_double() is_real()
    is_array()
    is_object()
    is_resource()
    is_null();

    is_scalar()   判断是不是基本类型
    is_numberic()   判断是不是整型、浮点型、数字字符串。
    is_callable()

 常量的声明与使用
      1. 常量是一个简单值的标识符
      2. 常量定义后不能再改变他的值,也不能使用unset()取消

      3.常量可以不用理会变量范围的规则而在任何地方都可以定义和访问

     define("HOME", "aaaaaaaaaaaaaaaa");
     $a=100;
     function demo(){
      echo $a;
      echo HOME;
     }
     demo();      //此时只会输出常量HOME。

             

     define("HOME", "aaaaaaaaaaaaaaaa");
     $a=100;
     function demo(){

                      global $a;
                      echo $a;
                      echo HOME;
     }
     demo();      //此时会输出常量HOME跟变量$a。

      4.常量使用define("常量名", 值);
      5.常量声明名在声明和使用都不使用"$"
      6.常量名称习惯都使用大写
      7.常量的值只能用标量类型(int, float, bool, string)
      8.常量一定要在声明时就给值
      9.defined("常量");    查看常量是否被定义
      define("HOME2", "aaaaaaaaaaaaaaaa");
       if(defined("HOME")){
        echo HOME;
       }else{
        define("HOME", "bbbbbbbbbbbb");
       }

       echo HOME;

       10.预定义常量(H_PI)跟魔术常量(__FILE__     、__LINE__ 等)。

原创粉丝点击