有没有办法在PHP中将整数转换为字符串?
答案 0 :(得分:699)
您可以使用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";
答案 1 :(得分:80)
答案 2 :(得分:41)
$foo = 5;
$foo = $foo . "";
现在$foo
是一个字符串。
但是,你可能想习惯投射。铸造是实现某种目标的正确方法。
$foo = 5;
$foo = (string)$foo;
另一种方法是封装在引号中:
$foo = 5;
$foo = "$foo"
答案 3 :(得分:9)
在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";
我不推荐最终选项,但我已经看到依赖于这种行为的野外代码,所以我想我会把它传递给它。
答案 4 :(得分:7)
所有这些答案都很棒,但如果值为零,它们都会返回一个空字符串。
尝试以下方法:
$v = 0;
$s = (string)$v : (string)$v ? "0";
答案 5 :(得分:6)
$intValue = 1;
$string = sprintf('%d',$intValue );
或者可能是:
$string = (string)$intValue ;
或:
settype(&$intValue ,'string');
答案 6 :(得分:4)
有许多可能的转换方式:
$input => 123
sprintf('%d',$input) => 123
(string)$input => 123
strval($input) => 123
settype($input, "string") => 123
答案 7 :(得分:3)
您可以使用句点运算符并将字符串连接到它(并且它将类型转换为字符串):
$integer = 93;
$stringedInt = $integer."";
或者,更准确地说,您只需键入强制转换为字符串:
$integer = 93;
$stringedInt = (string) $integer;
答案 8 :(得分:0)
我想说这取决于具体情况。可以使用strval()或转换运算符(字符串),但是在大多数情况下,PHP会决定什么对你有好处,例如你将它与echo或printf一起使用...一个小注释:die()需要一个字符串,不会显示任何int:)
答案 9 :(得分:0)
由于这里的答案很好地证明了,是的,有几种方法。但是,在PHP中,您实际上很少需要这样做。编写PHP的“教条方式”是依赖于语言的松散类型系统,它会根据需要透明地强制类型。对于整数值,这通常没有问题。不过,您应该非常小心浮点值。
答案 10 :(得分:0)
您可以简单地使用以下内容:
$intVal = 5;
$strVal = trim($intVal);
答案 11 :(得分:0)
$amount = 2351.25;
$str_amount = "2351.25";
$strCorrectAmount = "$amount";
echo gettype($strCorrectAmount);
因此回显将返回 string
答案 12 :(得分:0)
$num = 10;
"'".$num."'"
尝试一下
答案 13 :(得分:-4)
$integer = 93;
$stringedInt = $integer.'';
比
快$integer = 93;
$stringedInt = $integer."";