Php 转换错误?字符串=>;Int

Php 转换错误?字符串=>;Int,php,Php,我无法将字符串转换为int。 数组$input包含以下值: array(3) { [0]=> string(6) "30" [1]=> string(2) "01" [2]=> string(9) "2013" } 首先,由于八进制陷阱,我去掉了前导零。这是我的代码: foreach ($input as $key => $var) { $input[$key] = trim($var,"0"); $input[$key] = (int

我无法将字符串转换为int。 数组$input包含以下值:

array(3) { [0]=> string(6) "30" [1]=> string(2) "01" [2]=> string(9) "2013" } 
首先,由于八进制陷阱,我去掉了前导零。这是我的代码:

foreach ($input as $key => $var) {
        $input[$key] = trim($var,"0");
        $input[$key] = (int)$var;
    }
但不幸的是,结果并不稳定

array(3) { [0]=> int(0) [1]=> int(1) [2]=> int(2013) }
30现在是零?这怎么可能

[0]=> string(6) "30"
此字符串开头有一些不可打印的字符。它看起来有2个字符长,但实际上有6个。这些字符将导致字符串转换为文档中的
0

您应该尝试对字符串执行
bin2hex
,查看我们讨论的字节值,然后使用这些知识确定它们的来源


“2013”
字符串也有额外的字符,尽管从外观上看,它们在这种情况下是尾随的

您的vardump显示该字符串的长度为6个字符,30个字符的字符串应仅为2个字符,因此该字符串中似乎有一些额外的字符。您可以尝试将其转换为十六进制,然后查看字符是什么。您可以将任何非数字的字符替换为“”