如何将PHP变量的值转换为字符串?

我正在寻找比连接一个空字符串更好的东西:

$myText = $myVar . '';

类似于Java或。net中的ToString()方法。


当前回答

PHP是动态类型的,所以就像Chris Fournier说的,“如果你像字符串一样使用它,它就变成了字符串”。如果您正在寻找对字符串格式的更多控制,那么printf就是您的答案。

其他回答

你可以使用强制转换操作符:

$myText = (string)$myVar;

PHP手册的字符串部分有关于字符串强制转换的更多细节,包括对布尔值和空值的特殊处理。

把它放在双引号里应该可以:

$myText = "$myVar";

我认为值得一提的是,你可以通过使用输出缓冲来捕获变量中的任何输出(如print_r, var_dump):

<?php
    ob_start();
    var_dump($someVar);
    $result = ob_get_clean();
?>

感谢: 如何将var_dump的结果捕获到字符串?

您总是可以创建一个名为.ToString($in)的方法来返回

$in . '';  

试试这个奇怪但有效的方法,将stdClass的文本部分转换为字符串类型:

$my_std_obj_result = $SomeResponse->return->data; // Specific to object/implementation

$my_string_result = implode ((array)$my_std_obj_result); // Do conversion