PHP中的字符串到int的转换规则是什么?
例如,我有以下返回0:
var_dump((int)"test0");
var_dump((int)"test1");
var_dump((int)"test2");
并且看起来如果字符串以数字开头,那么它将修剪字符并仅使用数字部分。如下:
var_dump((int)"1test");
var_dump((int)"2test");
var_dump((int)"3test");
分别返回1,2和3。
现在,这是一个明确的规则,还是有例外?
答案 0 :(得分:5)
这在PHP的手册中有解释:
http://php.net/manual/en/language.types.string.php#language.types.string.conversion
摘录:
该值由字符串的初始部分给出。如果字符串以有效数字数据开头,则这将是使用的值。否则,该值将为0(零)。有效数字数据是可选符号,后跟一个或多个数字(可选地包含小数点),后跟可选指数。指数是'e'或'E',后跟一个或多个数字。