购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 类型判断和转换

PHP代码中,数据操作有着很大的灵活性,也能够完成大部分的自动转换工作,不过,有时还是需要很精确地判断数据类型,并在需要时进行类型转换。

判断数据的类型时,可以使用一系列的is_XXX()函数,如:

● is_array()函数,判断参数是否为数组类型,第8章会详细介绍数组的应用。

● is_bool()函数,判断参数是否为布尔类型。

● is_float()、is_double()和is_real()函数,判断参数是否为浮点数。

● is_int()、is_integer()和is_long()函数,判断参数是否为整数。

● is_numeric()函数,判断参数是否为一个数值(数字或数字字符串)。

● is_finite()函数,判断参数是否为有限值。

● if_infinite()函数,判断参数是否为无限值。

● is_nan()函数,当参数是一个数值时返回false,不是数值时返回true。

● is_null()函数,判断参数是否为空值(null值)。

● is_object()函数,判断参数是否为一个对象。

● is_resource()函数,判断参数是否为资源类型。

● is_string()函数,判断参数是否为字符串,如is_string("1")返回true,is_string(1)返回false。

● is_scalar()函数,判断参数是否为标量类型,当参数类型为int、float、string或bool类型时返回true,否则返回false。

PHP中的数值包括整数和浮点数,前面已经讨论了相关的运算。实际应用中,如果需要将一些数据转换这两种类型,可以分别使用intval()和floatval()函数,它们总是会返回一个数值,转换不成功时也会返回0。下面的代码演示了这两个函数的使用。

    <?php
    $s = "123.55";
    $i = intval($s);
    $f = floatval($s);
    echo $i,"<br>",$f;
    ?>

执行结果会显示123和123.55。可以看到,使用intval()函数转换为整数时,只截取整数部分,小数部分会被舍弃,并不会四舍五入。

请注意,使用intval()和floatval()函数时,会读取参数中有效的数值部分,一旦读取了非数值内容会立即停止,然后将读取的内容转换为指定类型的数值。如intval("123a")返回123,而intval("a123")返回0。

intval()函数中默认执行的是十进制数的转换,也可以使用第二个参数指定转换内容的进制,如下面的代码。

    <?php
    echo intval("ff",16);
    ?>

代码执行结果显示255。这里指定需要转换的内容是十六进制形式,本例中十六进制数ff会转换为十进制数的255。 WeT4hTES8VSS2F18ysjWHq1empJjTE+KnV1ov8jPU2gcXvsaChNpAxKqD+oYaw1t

点击中间区域
呼出菜单
上一章
目录
下一章
×