我知道之前已经问过这个问题,但我想不出如何搜索它并且无法在文档中找到它(虽然我知道它在某个地方)..
为什么$a
在此示例中变为0?
$a = "Foo";
echo +$a; // 0 .. and same with echo -$a;
答案 0 :(得分:5)
因为加号(+
)你说它是一个正数,所以字符串被隐式转换为int意味着这里:0。
您也可以在手册中看到这一点:http://php.net/manual/en/language.types.integer.php#language.types.integer.syntax
从那里引用:
整数可以用十进制(基数10),十六进制(基数16),八进制(基数8)或二进制(基数2)表示法指定,可选地前面带符号( - 或+)。