在PHP中有方法将整数转换为字符串吗?
当前回答
在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";
我不推荐最后一个选项,但我在野外见过依赖于这种行为的代码,所以我想把它传递给大家。
其他回答
我想说这取决于上下文。可以使用Strval()或强制转换操作符(string)。然而,在大多数情况下,PHP将决定什么对你来说是好的,例如,你使用echo或printf…
注意:die()需要一个字符串,不会显示任何int:)
可以使用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
// The two examples above have the same end value...
// ... And so do the two below
// Explicit cast
$items = (string)$var; // $items === "5";
// Function call
$items = strval($var); // $items === "5";
你可以使用句号操作符并将一个字符串连接到它(它将被类型转换为字符串):
$integer = 93;
$stringedInt = $integer . "";
或者,更准确地说,你可以直接将整数类型转换为字符串:
$integer = 93;
$stringedInt = (string) $integer;
有很多方法可以做到这一点。
两个例子:
$str = (string) $int;
$str = "$int";
有关更多信息,请参阅PHP类型杂耍手册。
$integer = 93;
$stringedInt = $integer.'';
比
$integer = 93;
$stringedInt = $integer."";