0

stringを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はゼロになりましたか?これはどのように可能ですか?

4

1 に答える 1

2
[0]=> string(6) "30"

この文字列の先頭には、印刷できない文字がいくつかあります。2文字のように見えますが、実際には6文字あります。このような文字を使用すると、文字列0は文書化されているとおりに変換されます。

文字列を試しbin2hexて、話しているバイト値を確認してから、この知識を使用してそれらがどこから来ているかを判断する必要があります。

"2013"文字列にも余分な文字がありますが、その場合は文字列が末尾表示されます。

于 2013-01-31T16:09:25.840 に答える