|
unpackバイナリ文字列からデータを切り出す 説明
arrayfalse unpack(string
$format, string $string, int $offset = 0)
分解した結果は連想配列に格納されます。 このようにするには、別のフォーマットコードを使用してそれらを スラッシュ / で区切る必要があります。 引数にリピータが含まれる場合の配列の要素名は、 指定した名前の後に順番に番号がついたものとなります。 Perl の関数に動きを近づけるために、以下の変更が行われています:
パラメータ
戻り値
バイナリ文字列を切り出した要素を含む連想配列を返します。失敗した場合に 変更履歴
例
例1 unpack の例 上の例の出力は以下となります。
Array
(
[chars] => 4
[int] => 160
)
例2 unpack でのリピータの例 上の例の出力は以下となります。
Array
(
[chars1] => 4
[chars2] => 0
[int] => 40960
)
注意警告
PHP は内部的に整数を符号付きで保持することに注意しましょう。 大きな値の unsigned long を切り出した場合、PHP の内部で保持された値は、 同じ大きさの符号付き整数となり、符号無しを指定して切出された場合でも 結果は負の数となります。 警告
要素に名前をつけなければ、
例3 unpack で名前のないキーを扱う例 上の例の出力は以下となります。
array(2) {
[1]=>
int(160)
[2]=>
int(66)
}
参考
|