PHP7:函数settype()
将布尔文字true
和false
转换为1
为什么false
得到1?
$foo1=false;
echo "<br>foo1: ". settype ($foo1,"string"); // foo1: 1
$foo2=true;
echo "<br>foo2: ". settype ($foo2,"string"); // foo2: 1
函数strval()
将false
转换为空字符串,将true
转换为1:
$foo1=false;
echo "foo1: ". strval ($foo1); // foo1:
$foo2=true;
echo "<br>foo2: ". strval ($foo2); // foo2: 1
因为您正在输出settype()
的返回值,所以NOT您转换的值。由于转换成功。settype返回true
,并作为1
返回。
php > $foo = true;
php > var_dump(settype($foo, "string"), $foo);
bool(true)
string(1) "1"