如何将PHP变量的值转换为字符串?
我正在寻找比连接一个空字符串更好的东西:
$myText = $myVar . '';
类似于Java或。net中的ToString()方法。
如何将PHP变量的值转换为字符串?
我正在寻找比连接一个空字符串更好的东西:
$myText = $myVar . '';
类似于Java或。net中的ToString()方法。
当前回答
试试这个奇怪但有效的方法,将stdClass的文本部分转换为字符串类型:
$my_std_obj_result = $SomeResponse->return->data; // Specific to object/implementation
$my_string_result = implode ((array)$my_std_obj_result); // Do conversion
其他回答
我如何转换一个PHP的值 变量转换为字符串?
可以使用(string)强制转换或strval()函数将值转换为字符串。(编辑:托马斯也说过)。
当您将它作为字符串使用时,它也应该自动为您强制转换。
文档说你还可以这样做:
$str = "$foo";
和演员一样,但是我觉得看起来更漂亮。
来源:
俄罗斯 英语
你可以使用强制转换操作符:
$myText = (string)$myVar;
PHP手册的字符串部分有关于字符串强制转换的更多细节,包括对布尔值和空值的特殊处理。
$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) . "'";
当预期的字符串变量前导为0(例如077543)时,前面的回答中的一些(如果不是全部)方法会失败。
转换这样一个变量的尝试无法获得预期的字符串,因为变量被转换为以8为基数(八进制)。
所有这些将使$str的值为32611:
$no = 077543
$str = (string)$no;
$str = "$no";
$str = print_r($no,true);
$str = strval($no);
$str = settype($no, "integer");