您的位置:首页 > 编程语言 > PHP开发

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

2014-07-02 21:48 507 查看
标准数据类型

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()      // 是否是字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据 实例 标准