php如何强制转成字符串

发布时间:2021-03-15 09:39:11

来源:亿速云

阅读:77

作者:小新

小编给大家分享一下php如何强制转成字符串,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php强制转成字符串的方法:首先创建一个PHP示例文件;然后定义一个变量;最后通过PHP中的string方法强制转换成字符串即可。

PHP强制转换类型

获取数据类型 :

1.如果想查看某个表达式的值和类型,用var_dump()。

2.如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()。

3.要查看某个类型,不要用 gettype(),而用is_type() 函数。

■字符串转换为数值当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。

如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。

该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。

注:不要指望在将一个字符转换成整型时能够得到该字符的编码(可能也会在 C 中这么做)。如果希望在字符编码和字符之间转换,请使用 ord() 和 chr() 函数。

■强制类型强制转换

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

允许的强制转换有:(int),(integer)            - 转换成整型

(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(包括任何资源)。<?php

var_dump((bool) ""); // bool(false)

var_dump((bool) 1); // bool(true)

var_dump((bool) -2); // bool(true)

var_dump((bool) "foo"); // bool(true)

var_dump((bool) 2.3e5); // bool(true)

var_dump((bool) array(12)); // bool(true)

var_dump((bool) array()); // bool(false)

var_dump((bool) "false"); // bool(true)

?>

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

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

a.从bool转换

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

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

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

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

echo (int) ( (0.1+0.7) * 10 ); // 显示 7

?>

$str = "123.456abc7"; // (int)123

echo (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都一样

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

【推荐学习:《PHP视频教程》】

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 结构。

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

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

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

5. 转换为对象 (object)

如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,内置类 stdClass 的一个实例将被建立。如果该值为 NULL,则新的实例为空。数组转换成对象将使键名成为属性名并具有相对应的值。对于任何其它的值,名为 scalar 的成员变量将包含该值

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

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

■PHP 类型比较表

以下的表格显示了 PHP 类型和比较运算符在松散和严格比较时的作用。该补充材料还和类型戏法的相关章节内容有关。注意

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

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

看完了这篇文章,相信你对“php如何强制转成字符串”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

php强制时间,php如何强制转成字符串相关推荐

  1. 博途V16 获取系统时间转换成字符串

    //获取系统时间 #nSystemTime := RD_SYS_T(#stSystemTime);//转换成字符串 #sYear := ''; VAL_STRG(IN := #stSystemTime ...

  2. php强制转成字符串,php怎么强制转成字符串

    php强制转成字符串的方法:首先创建一个PHP示例文件:然后定义一个变量:最后通过PHP中的string方法强制转换成字符串即可. 本文操作环境:windows7系统.PHP7.1版,DELL G3电 ...

  3. 无法访问网络计算机用户账户限制,登陆失败用户账户限制可能的原因包括不允许空密码,登陆时间限制,或强制的策略限制...

    打印机设置为共享,局域网上的机器部分能用\\192.168.0.X访问我的机器并连接上打印机,有的机器访问我的机器时会提示:无法访问,您可能没有权限使用网络资源,请与这台机器的管理员联系以查明您是否有 ...

  4. APP强制更新和非强制更新测试要点

    需求:有最新版本的时候,如果强制更新不管是在无线还是数据状态都要去更新,在状态栏上显示;如果是非强制更新,如果设置了wifi自动下载则去自动下载;否则弹出提示框提示是否下载更新 ----------安 ...

  5. C语言基础:时间转换成字符串 strftime的代码

    将内容过程中经常用的一些内容段做个记录,下边内容段是关于C语言基础:时间转换成字符串 strftime的内容,希望能对大伙有一些用处. #include <stdio.h> #includ ...

  6. css如何让不自动换行,css实现强制不换行/自动换行/强制换行

    在我们日常的编码中经常会遇到这段文字不可以换行,或者自动换行的需求.虽然这个功能在我们平时很常见但是我相信大家一定不会可以的去记住它吧(至少♦ 嘻嘻...).今天我们来学习一下如何熟练的掌握用css实 ...

  7. 格林威治时间(时间戳)转换成标准时间

    /// <summary>/// 格林威治时间(时间戳)转换成标准时间/// </summary>/// <param name="time"> ...

  8. div、p、td 的强制不换行及强制换行

    关于强制不换行.强制换行的话题在网上已经被讨论了无数次,但我发现都不够全面,没有充分考虑各种浏览器.各种标签等情况,以致不兼容,所以我再来说说.由于 div 和 p 在本文的讨论中,效果相同,所以省略 ...

  9. java 时间转换成字符串_java 获得系统时间 转换成字符串

    1.long字符串转换成yyyy-MM-dd HH:mm:ss 格式输出 /** * 将长时间格式字符串转换为字符串 yyyy-MM-dd HH:mm:ss * @return */ public s ...

  10. html p自动换行超出省略,CSS自动换行、强制不换行、强制断行、超出显示省略号...

    CSS自动换行.强制不换行.强制断行.超出显示省略号 CSS自动换行.强制不换行.强制断行.超出显示省略号 CSS样式设置自动换行.强制不换行.强制断行.超出显示省略号 P标签是默认是自动换行的,因此 ...

最新文章

  1. 【Java Web开发指南】Java插入中文到数据库中文变成问号解决
  2. nexus 安装_Jenkins Pipelines将制品发布到Nexus存储库
  3. C++ unordered_map 使用详解(含C++20新特性)
  4. Android之非root手机run-as命令获取debug版本apk里面的数据(shared_prefs文件,lib下面的so,数据库文件)
  5. 给你的Mr.Right画张择偶地图像
  6. (55)FPGA基本约束-UCF与XDC(第11天)
  7. [编写高质量代码:改善java程序的151个建议]后记
  8. python驱动级模拟按键大师_AB叔_C#驱动级模拟按键操作
  9. spark rdd map java_Spark map 遍历rdd中的每个元素
  10. JsSIP 注册,拨打填坑
  11. 金蝶K3系统如何更改已使用物料的计量单位信息
  12. luogu P5064 [Ynoi2014] 等这场战争结束之后
  13. 【RTF】如何使用python读取RTF格式的文件
  14. Qt获取windows文档、下载、图片等目录路径
  15. jxd android 4.1刷机包,金星JXD V3固件
  16. HyperLynx(二十三)DDR(六)DDRx总线批量仿真
  17. 抗击疫情,在家自学编程
  18. 【京东】商品详情页采集
  19. 主动降噪相消干涉原理
  20. js返回一年中所有的自然周

热门文章

  1. 网络学习(六)Windows XP系统之ghost安装
  2. RHEL5 配置yum
  3. XP访问windows 2003终端服务显示到期的解决
  4. tomcat配置项目的接种方式
  5. mysql用shell脚本链接数据库进行操作
  6. 《软技能:代码之外的生存指南》一一35.2 找出你的短板
  7. Java_一致性哈希算法与Java实现
  8. 17 行为型模式-----迭代器模式
  9. Linux组件封装(一)中互斥锁MutexLock的封装
  10. 分页内存与非分页内存导致的蓝屏死机问题