settype()转换为bool而不是string

app*_*ppu 0 php

在PHP中,如下所示的settype()函数应该将$ myvar的类型更改为字符串,但是当我运行它时,它显示为boolean.但如果我正确更改$myvar$my_varsettype ,则将类型更改为字符串.为什么会这样?

<?php
$myvar=1995;
echo "The variable is an ".gettype($myvar)."<br>";
$myvar=settype($myvar, "string");
echo "The variable is now a ".gettype($myvar);
?>
Run Code Online (Sandbox Code Playgroud)

谢谢和Regads,rseni.

Nik*_*kiC 6

根据settype它的文档,它改变了通过引用传递的变量并返回一个bool.

因此,$myvar=settype($myvar, "string");首先更改$myvar为字符串,然后分配返回的bool.正确的版本是:

settype($myvar, "string");
Run Code Online (Sandbox Code Playgroud)