2016-03-31 15 views
-2

文字列ごとに通常の1バイトではなく、UTF-8マルチバイト文字列を使用するとintval()がどのように変わるのですか?それは同じですか?マルチバイト文字列のPHP intim

+3

intval()を使用してマルチバイト文字列からあなたを得ることはできますか?例えば123αβγから。そしてなぜそれが '123abc'と違うと思いますか? –

+0

@ MarkBakerそれは両方のために123を与えるべきだと思います。 – chilliefiber

+2

[なぜそれを試してみてください](https://3v4l.org/eVK0t) –

答えて

1

PHPは文字列エンコーディングを内部的に区別しません。文字列は単なるバイト配列です。 UTF-8文字列をintvalに渡すと、この関数はエンコードされたUTF-8文字列のバイトのみを表示します。 UTF-8エンコーディングの性質上、intvalは非ASCII文字を非数字として扱います。したがって、ASCII、Latin1、またはUTF-8文字列を渡すかどうかには違いはありません。

+0

ありがとう、これは私がやったテストと一貫していますが、私はカップルのエコーテストに基づいて何も賭けたくありませんでした。 – chilliefiber

関連する問題