如何将PHP变量的值转换为字符串?
我正在寻找比连接一个空字符串更好的东西:
$myText = $myVar . '';
类似于Java或。net中的ToString()方法。
如何将PHP变量的值转换为字符串?
我正在寻找比连接一个空字符串更好的东西:
$myText = $myVar . '';
类似于Java或。net中的ToString()方法。
当前回答
对于对象,您可能无法使用强制转换操作符。相反,我使用json_encode()方法。
例如,下面将输出内容到错误日志:
error_log(json_encode($args));
其他回答
我如何转换一个PHP的值 变量转换为字符串?
可以使用(string)强制转换或strval()函数将值转换为字符串。(编辑:托马斯也说过)。
当您将它作为字符串使用时,它也应该自动为您强制转换。
__toString方法或(string)强制转换
$string=(string)$variable; //force make string
可以将对象视为字符串
class Foo
{
public function __toString()
{
return "foo";
}
}
echo new Foo(); //foo
还有另一个技巧,假设你有int变量,你想把它变成字符串
$string=''.$intvariable;
您总是可以创建一个名为.ToString($in)的方法来返回
$in . '';
$parent_category_name = "new clothes & shoes";
// To make it to string option one
$parent_category = strval($parent_category_name);
// Or make it a string by concatenating it with 'new clothes & shoes'
// It is useful for database queries
$parent_category = "'" . strval($parent_category_name) . "'";
这是通过类型转换完成的:
$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);