php有哪些类型强制转换?

php强制转换类型有:1、转换成整型;2、转换成布尔型;3、转换成浮点型;4、转换成字符串;5、转换成数组;6、转换成对象。

php有哪些类型强制转换?

php强制转换类型有:

PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。

允许的强制转换有:

(int),(integer)            – 转换成整型

立即学习“PHP免费学习笔记(深入)”;

(bool),(boolean)           – 转换成布尔型

(float),(double),(real)    – 转换成浮点型

(string)                  – 转换成字符串

(array)                    – 转换成数组

(object)                   – 转换成对象

注意在括号内允许有空格和制表符

还可以用settype ( mixed var, string type )进行强制转换.

1.强制转换为布尔值 (bool)|(boolean)

要明示地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制需要一个 boolean 参数时,该值会被自动转换。 

当转换为 boolean 时,以下值被认为是 FALSE: 

布尔值 FALSE

整型值 0(零)

浮点型值 0.0(零)

空白字符串和字符串 “0” 

没有成员变量的数组

没有单元的对象(仅适用于 PHP 4)

特殊类型 NULL(包括尚未设定的变量)

所有其它值都被认为是 TRUE(包括任何资源)。


登录后复制

2.强制转换为整形(int)|(integer)

要明示地将一个值转换为 integer,用 (int) 或 (integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。还可以通过函数 intval() 来将一个值转换成整型。 

a.从bool转换

b.从浮点数转换     取整,超出范围,结果不定

c.从字符串转换     参看字符串转换为数值

d.从其它类型转换   先换成 bool值,再转换

决不要将未知的分数强制转换为 integer,这样有时会导致意外的结果。

$str = "123.456abc7"; // (int)123echo (int)$str;$str = "abc123.456";   // (int)0$str = true;           // (int)1$str = false;          // (int)0

登录后复制

3.强制转换为浮点型 (int)|(double)|(real)|doubleval()|floatval()|intval() 

精度: 0.12345678901234 // double,real都一样

数据的丢失参 字符串转换为数值

    

4.强制换为字符串 (string) |strval()

可以用 (string) 标记或者 strval() 函数将一个值转换为字符串。当某表达式需要字符串时,字符串的转换会在表达式范围内自动完成。例如当使用 echo() 或者 print() 函数时,或者将一个变量值与一个字符串进行比较的时候。

布尔值 TRUE 将被转换为字符串 “1”,而值 FALSE 将被表示为 “”(即空字符串)。这样就可以随意地在布尔值和字符串之间进行比较。

整数或浮点数数值在转换成字符串时,字符串由表示这些数值的数字字符组成(浮点数还包含有指数部分)。

数组将被转换成字符串 “Array”,因此无法通过 echo() 或者 print() 函数来输出数组的内容。请参考下文以获取更多提示。

对象将被转换成字符串 “Object”。如果因为调试需要,需要将对象的成员变量打印出来,请阅读下文。如果希望得到该对象所依附的类的名称,请使用函数 get_class()。自 PHP 5 起,如果合适可以用 __toString() 方法。

资源类型总是以 “Resource id #1” 的格式被转换成字符串,其中 1 是 PHP 在运行时给资源指定的唯一标识。如果希望获取资源的类型,请使用函数 get_resource_type()。

NULL 将被转换成空字符串。

正如以上所示,将数组、对象或者资源打印出来,并不能提供任何关于这些值本身的有用的信息。请参阅函数 print_r() 和 var_dump(),对于调试来说,这些是更好的打印值的方法。 

可以将 PHP 的值转换为字符串以永久地储存它们。这种方法被称为序列化,可以用函数serialize()来完成该操作。如果在安装 PHP 时建立了 WDDX 支持,还可以将 PHP 的值序列化为 XML 结构。 

5. 强制转换为数组 (array)

对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。

如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。

如果将一个 NULL 值转换成数组,将得到一个空数组。

     

6. 转换为对象 (object)

如果将一个对象转换成对象,它将不会有任何变化。

如果其它任何类型的值被转换成对象,内置类 stdClass 的一个实例将被建立。

如果该值为 NULL,则新的实例为空。数组转换成对象将使键名成为属性名并具有相对应的值。

对于任何其它的值,名为 scalar 的成员变量将包含该值

7.转换为资源 (无法转换)

由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此无法将其它类型的值转换为资源。

注意

HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串是不是数字,可以使用 is_numeric() 函数。

在没有定义变量 $x 的时候,诸如 if ($x) 的用法会导致一个 E_NOTICE 级别的错误。所以,可以考虑用 empty

相关学习推荐:PHP编程从入门到精通

以上就是php有哪些类型强制转换?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2133295.html

(0)
上一篇 2025年2月24日 23:36:45
下一篇 2025年2月19日 06:04:47

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php数组如何去除多余元素?

    php数组去除多余元素的方法:1、删除数据中的一个元素,可以使用【unset()】方法和【array_splice()】方法;2、删除数组中的多个元素,可以使用【array_diff()】方法和【array_diff_key()】方法。 p…

    2025年2月24日
    200
  • PHP如何删除目录中所有文件内容?

    PHP如何删除目录中所有文件内容? 首先创建一个函数,并接受一个参数;然后在函数中使用“opendir”函数,打开传入的参数;最后历遍返回的结果,并判断是否为文件夹,如果是进行递归,否则删除文件即可。 示例代码 <?php $dirN…

    2025年2月24日
    200
  • php农历转公历怎么实现

    php农历转公历的实现方法:首先获取一个PHP日期时间操作类“Lunar”;然后将“Lunar”相关代码保存为“Lunar.class.php”文件;最后使用“convertLunarToSolar();”方法实现农历转公历即可。 推荐:《…

    2025年2月24日
    200
  • PHP如何解决查询MySQL数据库中文乱码?

    PHP如何解决查询MySQL数据库中文乱码? 1、将MySQL数据库默认的编码是UTF-8; 2、在MySQL中创建表时,将字符集设置为UTF-8; 3、在PHP中查询数据之前,将数据库编码设置为UTF-8即可。 立即学习“PHP免费学习笔…

    2025年2月24日
    200
  • linux命令怎么安装php

    linux命令安装php的方法:首先从php的官方网站下载php的安装源码包;然后执行命令“./configure –prefix=/usr/local/servers/php”配置安装环境;接着在解压目录执行编译命令;最后执行…

    2025年2月24日 编程技术
    200
  • php出现上传找不到临时文件错误怎么办

    php上传找不到临时文件错误的解决办法:首先打开“php.ini”文件;然后将“upload_tmp_dir”项前面的分号去掉;接着在后面添加好路径如“C:/windows/temp”;最后加入网站匿名访问用户组的读写权限即可。 php上传…

    2025年2月24日
    200
  • PHP如何去掉特殊字符?

    PHP如何去掉特殊字符? 1、“trim()”函数可以去除字符串左右两边的空格和特殊字符; 2、“ltrim()”函数移除字符串左侧的空白字符或其他预定义字符; 3、“str_replace()”函数以其它字符替换字符串中的一些字符。 立即…

    2025年2月24日
    200
  • php如何删除指定key

    php删除指定key的方法:首先用“array_search”函数根据value去搜索;然后按key进行查找key对应的位置;最后使用自定义好的“array_remove”方法删除指定key即可。 PHP删除Array数组里指定的key(完…

    2025年2月24日
    200
  • php判断是几维数组

    php判断是几维数组的方法:首先获取需要进行判断的数组;然后使用自定义的“aL”方法实现判断数组是几维数组;最后通过“max($al)”方法获取数组的维度即可。 PHP 获取数组是几维数组   推荐:《PHP教程》 立即学习“PHP免费学习…

    2025年2月24日
    200
  • php如何将float转int?

    php如何将float转int? 1、使用函数“intval”将float类型数据转为int类型; $float = 15.222;intval($float); 登录后复制 2、使用“settype()”将float类型数据设置为int类…

    2025年2月24日
    200

发表回复

登录后才能评论