|
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) }
参考
|