在PHP中将整数转换为string
有没有办法将整数转换为PHP中的string?
您可以使用strval()
函数将数字转换为string。
从维护的angular度来看,显然你正在试图做的,而不是一些其他更深奥的答案。 当然,这取决于你的上下文。
$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";
有关更多信息,请参阅“PHP杂志types手册”。
$foo = 5; $foo = $foo . "";
现在$foo
是一个string。
但是,你可能想习惯铸造。 铸造是完成这种事情的正确途径。
$foo = 5; $foo = (string)$foo;
另一种方法是封装在引号中:
$foo = 5; $foo = "$foo"
有很多方法可以将整数转换为PHP中的string。
传统的CS方法是将该variables作为string进行转换
$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的隐式types转换和string插值
$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";
最后,与上面类似,任何接受和返回一个string的函数都可以用来转换和整数。 考虑以下
$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";
我不会推荐最终的select,但是我已经看到了依赖这种行为的代码,所以我认为我会传递它。
$intValue = 1; $string = sprintf('%d',$intValue );
或者可能是:
$string = (string)$intValue ;
要么:
settype(&$intValue ,'string');
所有这些答案都很好,但是如果值为零,它们都会返回一个空string。
尝试以下操作:
$v = 0; $s = (string)$v : (string)$v ? "0";
有许多可能的转换方式:
$input => 123 sprintf('%d',$input) => 123 (string)$input => 123 strval($input) => 123 settype($input, "string") => 123
你可以使用句点运算符并连接一个string(它将被转换为一个string):
$integer = 93; $stringedInt = $integer."";
或者,更准确地说,您可以只键入整数string:
$integer = 93; $stringedInt = (string) $integer;
我会说这取决于上下文。 strval ()或者铸造操作符(string)可以被使用,然而在大多数情况下,PHP会决定什么是对你有好处的,例如,如果你使用echo或者printf …一个小注释:die()需要一个string不会显示任何int 🙂
正如这里的答案很好地说明的,是的,有几种方法。 但是,在PHP中,你很less需要这样做。 编写PHP的“教条式”方式是依赖于语言的宽松input系统,它会根据需要透明地强制types。 对于整数值,这通常没有问题。 不过,你应该非常小心浮点值。
您可以简单地使用以下内容:
$intVal = 5; $strVal = trim($intVal);
$integer = 93; $stringedInt = $integer.'';
比…更快
$integer = 93; $stringedInt = $integer."";