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

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

$myText = $myVar . '';

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


当前回答

您还可以使用var_export PHP函数。

其他回答

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

$in . '';  

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

$myText = "$myVar";

你可以使用类型转换:

$var = (string)$varname;

或StringValue:

$var = strval($varname);

或SetType:

$success = settype($varname, 'string');
// $varname itself becomes a string

它们在类型杂耍方面的作用都是一样的。

当预期的字符串变量前导为0(例如077543)时,前面的回答中的一些(如果不是全部)方法会失败。

转换这样一个变量的尝试无法获得预期的字符串,因为变量被转换为以8为基数(八进制)。

所有这些将使$str的值为32611:

$no = 077543
$str = (string)$no;
$str = "$no";
$str = print_r($no,true);
$str = strval($no);
$str = settype($no, "integer");

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