分享

PHP的数据类型、类型转换及相关函数

 明天网吧 2015-03-31
标准数据类型
1、布尔型
PHP中0表示false,非0表示true。
例如:$result = false;
      $result = 0;
      $result = 1;
      $result = true;

2、整型
例如:$result = 42;
      $result = -67293;
      $result = 0755;    // 八进制数
      $result = 0xC4E;   // 十六进制数

3、浮点型
例如:$result = 3.34343;
      $result = 2.0;
      $result = 9.39e3;   
      $result = 1.23E+11;

4、字符串
PHP允许用单引号和双引号作为字符串的界定符,并且将字符串看成一个数组,允许通过数组偏移量访问指定的字符。
例如:$result = "welcome";
      $result = 'welcome to China';

      $result = "welcome";
      $char = $result[2]; // 把'c'赋给$char

复合数据类型
1、数组
PHP支持多维数组,允许通过数字索引访问数组中的元素,也允许通过关联索引(非数字)来访问数组中的元素。
例如:$list[0] = "apple";           // 数字索引
      $list["shandong"] = "apple";  // 关联索引

2、对象
例如:class Appliance {        // 申明对象
        private $_power;
        function setPower($status) {
          $this->power  = $status;
        }
      }
      ......
      $blender = new Appliance;  // 创建对象实例

类型转换
1、强制类型转换
在变量或值前面加上要转换的类型可以进行强制转换,PHP支持下列几种强制类型转换:
    (array)                     数组
    (bool)或(boolean)           布尔值
    (int)或(integer)            整数
    (object)                    对象
    (real)或(double)或(float)   浮点数
    (string)                    字符串

.将一个双进度数强制转换成整数时,将直接忽略小数部分。
$a = (int) 14.8; // $a = 14

.将字符串转换成整数时,取字符串最前端的所有数字进行转换,若没有数字,则为0。
$a = (int) "There is 1 tree." // $a = 0
$a = (int) "48 trees"         // $a = 48

.将一个数据强制转换成数组时
$a = 92;
$b = (array) $a;

.任何数据类型都可以转换成对象,其结果是,该变量成为了对象的一个属性。
$model = "Toyota";
$obj = (object) $model;
然后可以如下引用这个值:
print $obj->scalar; // 返回 "Toyota"

2、类型自动转换
.当字符串和数值做加法运算时,字符串转换成数值对应的类型。
注:若希望数值当成字符串和原有的字符串进行合并操作,可以使用拼接操作符".",例如:
$a = "This is ";
$b = 3;
echo $a.$b;
执行结果如下:
This is 3

与类型有关的函数
1、获取类型
定义:string gettype(mixed var)

2、转换类型
定义:boolean settype(mixed var, string type)
说明:函数将var变量转换成type指定的类型。type可以是下列7个值之一:array、boolean、float、integer、null、object、string。如果转换成功,返回true;否则为false。

类型标识符函数
PHP提供一系列函数来识别变量的值是否是指定的类型,具体如下:
is_array()       // 是否是数组
is_bool()        // 是否是布尔值
is_float()       // 是否是浮点数
is_integer()     // 是否是整数
is_null()        // 是否是空
is_numeric()     // 是否是数值
is_object()      // 是否是对象
is_resource()    // 是否是资源类型
is_scalar()      // 是否是标量,标量变量仅包含integer、float、string或 boolean的变量
is_string()      // 是否是字符串          

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多