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


当前回答

警告:下面的答案是基于错误的前提。将0数字转换为字符串总是返回字符串“0”,使所提供的代码成为冗余。

所有这些答案都很好,但如果值为零,它们都会返回一个空字符串。

试试下面的方法:

    $v = 0;

    $s = (string)$v ? (string)$v : "0";

其他回答

我的情况:

echo strval("12"); => 12
echo strval("0"); => "0"

我在工作……

$a = "12";
$b = "0";
echo $a * 1; => 12
echo $b * 1; => 0

在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:)

你可以简单地使用以下命令:

$intVal = 5;
$strVal = trim($intVal);

我尝试了上面所有的方法,但当我在另一个字符串中嵌入值时,我得到了“数组到字符串转换”错误。如果你有同样的问题,试试implode()函数。 例子:

$integer = 0;    
$id = implode($integer);    
$text = "Your user ID is: ".$id ;