008的特殊之处在于类型杂耍失败了


What is special about 008 for type juggling to fail?

字符串'008'和任何更高的会导致类型杂耍(因为没有更好的词)失败的特殊之处是什么?所有低于008的编号字符串都可以工作,从008或更高的任何内容似乎都不等于一个数字?

更准确地说,似乎比较007,008和009是问题所在,PHP不把008这样的东西算作整数吗?

$MyString='007'; //Works fine.
$MyString='008'; //Fails.
$MyString='009'; //Fails.
if($MyString==007) return 'ABC';
if($MyString==008) return 'DEF';
if($MyString==009) return 'GHI';

以0开头的数字表示八进制(以8为基数),只有0-7是八进制。

http://php.net/manual/en/language.types.integer.php