有没有办法在PHP中将整数转换为字符串?
您可以使用strval()函数将数字转换为字符串 .
从维护的角度来看,它显然是你想要做的,而不是其他一些更深奥的答案 . 当然,这取决于你的背景 .
$var = 5; // Inline variable parsing echo "I'd like {$var} waffles"; // = "I'd like 5 waffles // String concatenation echo "I'd like ".$var." waffles"; // I'd like 5 waffles // Explicit cast $items = (string)$var; // $items === "5"; // Function call $items = strval($var); // $items === "5";
有很多方法可以做到这一点 .
两个例子:
$str = (string) $int; $str = "$int";
有关更多信息,请参阅Types Juggling上的PHP手册 .
$foo = 5; $foo = $foo . "";
现在 $foo 是一个字符串 .
$foo
但是,你可能想习惯投射 . 铸造是完成某种事情的正确方法 .
$foo = 5; $foo = (string)$foo;
另一种方法是封装在引号中:
$foo = 5; $foo = "$foo"
在PHP中有很多方法可以将整数“转换”为字符串 .
传统的CS方式是将变量转换为字符串
$int = 5; $int_as_string = (string) $int; echo $int . ' is a '. gettype($int) . "\n"; echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
您还可以利用PHP的隐式类型转换和字符串插值
$int = 5; echo $int . ' is a '. gettype($int) . "\n"; $int_as_string = "$int"; echo $int_as_string . ' is a '. gettype($int_as_string) . "\n"; $string_int = $int.''; echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
最后,与上面类似,任何接受并返回字符串的函数都可以用于转换和整数 . 考虑以下
$int = 5; echo $int . ' is a '. gettype($int) . "\n"; $int_as_string = trim($int); echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
我不推荐最终选项,但我已经看到了依赖于这种行为的野外代码,所以我想我会把它传递给它 .
所有这些答案都很棒,但如果值为零,它们都会返回一个空字符串 .
请尝试以下方法:
$v = 0; $s = (string)$v : (string)$v ? "0";
$intValue = 1; $string = sprintf('%d',$intValue );
或者可能是:
$string = (string)$intValue ;
要么:
settype(&$intValue ,'string');
有许多可能的转换方式:
$input => 123 sprintf('%d',$input) => 123 (string)$input => 123 strval($input) => 123 settype($input, "string") => 123
您可以使用句点运算符并将字符串连接到它(并且它将类型转换为字符串):
$integer = 93; $stringedInt = $integer."";
或者,更准确地说,您只需键入强制转换为字符串:
$integer = 93; $stringedInt = (string) $integer;
我会说这取决于背景 . 可以使用strval()或者转换操作符(字符串),但是在大多数情况下,PHP会决定什么对你有好处,例如你将它与echo或printf一起使用...一个小注释:die()需要一个字符串,不会显示任何int :)
由于这里的答案很好地证明了,是的,有几种方法 . 但是,在PHP中,您很少需要这样做 . 编写PHP的“教条方式”是依赖于语言的松散类型系统,它将根据需要透明地强制类型化 . 对于整数值,这通常没有问题 . 不过,您应该非常小心浮点值 .
您只需使用以下内容:
$intVal = 5; $strVal = trim($intVal);
$integer = 93; $stringedInt = $integer.'';
比...更快
12 回答
您可以使用strval()函数将数字转换为字符串 .
从维护的角度来看,它显然是你想要做的,而不是其他一些更深奥的答案 . 当然,这取决于你的背景 .
有很多方法可以做到这一点 .
两个例子:
有关更多信息,请参阅Types Juggling上的PHP手册 .
现在
$foo
是一个字符串 .但是,你可能想习惯投射 . 铸造是完成某种事情的正确方法 .
另一种方法是封装在引号中:
在PHP中有很多方法可以将整数“转换”为字符串 .
传统的CS方式是将变量转换为字符串
您还可以利用PHP的隐式类型转换和字符串插值
最后,与上面类似,任何接受并返回字符串的函数都可以用于转换和整数 . 考虑以下
我不推荐最终选项,但我已经看到了依赖于这种行为的野外代码,所以我想我会把它传递给它 .
所有这些答案都很棒,但如果值为零,它们都会返回一个空字符串 .
请尝试以下方法:
或者可能是:
要么:
有许多可能的转换方式:
您可以使用句点运算符并将字符串连接到它(并且它将类型转换为字符串):
或者,更准确地说,您只需键入强制转换为字符串:
我会说这取决于背景 . 可以使用strval()或者转换操作符(字符串),但是在大多数情况下,PHP会决定什么对你有好处,例如你将它与echo或printf一起使用...一个小注释:die()需要一个字符串,不会显示任何int :)
由于这里的答案很好地证明了,是的,有几种方法 . 但是,在PHP中,您很少需要这样做 . 编写PHP的“教条方式”是依赖于语言的松散类型系统,它将根据需要透明地强制类型化 . 对于整数值,这通常没有问题 . 不过,您应该非常小心浮点值 .
您只需使用以下内容:
比...更快