在PHP中相当于ToString()

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

我一直在寻找比串联空字符串更好的东西:

$myText = $myVar . '';

像Java或.NET中的ToString()方法一样。


您可以使用铸造操作员:

$myText = (string)$myVar;

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


这是通过类型转换完成的:

$strvar = (string) $var; // Casts to string
echo $var; // Will cast to string implicitly
var_dump($var); // Will show the true type of the variable

在一个类中,你可以使用神奇的方法__toString来定义输出的内容。 下面是一个例子:

class Bottles {
    public function __toString()
    {
        return 'Ninety nine green bottles';
    }
}

$ex = new Bottles;
var_dump($ex, (string) $ex);
// Returns: instance of Bottles and "Ninety nine green bottles"

一些更多的类型转换示例:

$i = 1;

// int 1
var_dump((int) $i);

// bool true
var_dump((bool) $i);

// string "1"
var_dump((string) 1);

使用print_r

$myText = print_r($myVar,true);

你也可以用like

$myText = print_r($myVar,true)."foo bar";

这会将$myText设置$myText一个字符串,例如:

array (
  0 => '11',
)foo bar

使用var_export获取更多信息(包含变量类型,...):

$myText = var_export($myVar,true);
链接地址: http://www.djcxy.com/p/86615.html

上一篇: ToString() equivalent in PHP

下一篇: Calculate size of Object in Java