如何将PHP变量的值转换为字符串?
我正在寻找比连接一个空字符串更好的东西:
$myText = $myVar . '';
类似于Java或。net中的ToString()方法。
如何将PHP变量的值转换为字符串?
我正在寻找比连接一个空字符串更好的东西:
$myText = $myVar . '';
类似于Java或。net中的ToString()方法。
当前回答
这是通过类型转换完成的:
$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);
其他回答
这是通过类型转换完成的:
$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);
你正在寻找strval:
字符串strval (mixed $var) 获取一个变量的字符串值。 参见有关字符串的文档 有关转换到的更多信息 字符串。 此函数不执行格式化 返回值。如果你是 正在寻找格式化数字的方法 值作为字符串,请参见 Sprintf()或number_format()。
试试这个奇怪但有效的方法,将stdClass的文本部分转换为字符串类型:
$my_std_obj_result = $SomeResponse->return->data; // Specific to object/implementation
$my_string_result = implode ((array)$my_std_obj_result); // Do conversion
双引号也可以……它应该创建一个字符串,然后它应该在两个空字符串之间APPEND/INSERT转换后的字符串值$myVar。
当预期的字符串变量前导为0(例如077543)时,前面的回答中的一些(如果不是全部)方法会失败。
转换这样一个变量的尝试无法获得预期的字符串,因为变量被转换为以8为基数(八进制)。
所有这些将使$str的值为32611:
$no = 077543
$str = (string)$no;
$str = "$no";
$str = print_r($no,true);
$str = strval($no);
$str = settype($no, "integer");