在PHP中有方法将整数转换为字符串吗?


当前回答

这里的答案很好地证明了,是的,有几种方法。然而,在PHP中,实际上很少需要这样做。编写PHP的“教条方式”是依赖于该语言的松散类型系统,该系统将根据需要透明地强制输入类型。对于整数值,这通常没有问题。但是,使用浮点值时应该非常小心。

其他回答

有许多可能的转换方式:

$input => 123
sprintf('%d',$input) => 123
(string)$input => 123
strval($input) => 123
settype($input, "string") => 123

在PHP中,有许多方法可以将整数“转换”为字符串。

传统的计算机科学方法是将变量转换为字符串:

$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";

我不推荐最后一个选项,但我在野外见过依赖于这种行为的代码,所以我想把它传递给大家。

你可以使用句号操作符并将一个字符串连接到它(它将被类型转换为字符串):

$integer = 93;
$stringedInt = $integer . "";

或者,更准确地说,你可以直接将整数类型转换为字符串:

$integer = 93;
$stringedInt = (string) $integer;

Use:

$intValue = 1;
$string = sprintf('%d', $intValue);

也可能是:

$string = (string)$intValue;

Or:

settype($intValue, 'string');
$amount = 2351.25;
$str_amount = "2351.25";

$strCorrectAmount = "$amount";
echo gettype($strCorrectAmount);    //string

echo将返回string。