通过在值之前添加(string)或strval()函数,可以将值转换为字符串。需要字符串的表达式将自动转换为字符串。例如,在使用函数echo或print或将变量与字符串进行比较时,会发生此转换。类型和类型转换可以更好地解释以下内容:。另请参见函数settype()。
布尔布尔真值转换为字符串“1”。假布尔将转换为“”(空字符串)。可以在bool和string之间执行此转换。
整数整型或浮点浮点将转换为数字文字样式字符串(包括浮点的指数部分)。也可以转换使用指数表示的浮点数(4.1E+6)。
注意:
自PHP8.0.0以来,所有的小数字符都是在脚本区域(类别LC_NUMERIC)中定义的。
由于数组array始终转换为字符串“数组”,因此echo和print无法显示数组内容。要查看元素,请使用语法echo$arr['foo']。要查看整个数组内容,请参见:。
要将对象转换为字符串,请使用魔法方法__必须使用toString。
资源资源始终转换为结构为“资源id#1”的字符串。1是PHP在执行时分配给资源的资源编号。不应依赖于此字符串的正确结构,它可能会被修改,但在执行的脚本(即,Web请求或CLI进程)的持续时间内,对于特定资源始终是唯一的,并且不会被重用。要获取资源类型,请执行函数get_resource_type()。
空字符串始终转换为空字符串。
如前所述,将数组、对象或资源直接转换为字符串不会提供除该类型之外的有用信息。这些类型的内容包括函数print_r()和var_可以使用dump()列出。
大多数PHP值都可以转换为字符串以永久保存。这被称为串行化,可以在函数serialize()中执行。