Manuál PHP | ||
---|---|---|
Předcházející | Další |
pack
Popis
string pack ( string format [, mixed args [, mixed ...]] )
Sbalí předané argumenty do binárního řetězce podle argumentu
format
. Vrací binární řetězec obsahující předaná data.
Nápad na tuto funkci byl převzat z Perlu, a všechny formátovací kódy fungují stejně jako tam, nicméně, některé formátovací kódy chybí, jako například Perlovský formátovací kód "u". Formátovací řetězec sestává z formátovacích kódu následovaných volitelným opakovacím argumentem. Opakovací argument může být buď celočíselná hodnota, nebo * pro opakování do konce vstupních dat. U a, A, h, H počet opakování určuje, kolik znaků se vezme z jednoho datového argumentu, u @ je to absolutní pozice, kde se mají umístit další data, u všeho ostatního počet opakování určuje, kolik datových argumentů se spotřebuje a sbalí do výsledného binárního řetězce. V současnosti jsou implementovány
a řetězec doplněný NUL hodnotami
A řetězec doplněný SPACE hodnotami
h Hex řetězec, spodní slabika první
H Hex řetězec, horní slabika první
c signed char
C unsigned char
s signed short (vždy 16 bitů, machine byte order)
S unsigned short (vždy 16 bitů, machine byte order)
n unsigned short (vždy 16 bitů, big endian byte order)
v unsigned short (vždy 16 bitů, little endian byte order)
i signed integer (velikost a pořadí bytů závislá na systému)
I unsigned integer (velikost a pořadí bytů závislá na systému)
l signed long (vždy 32 bitů, machine byte order)
L unsigned long (vždy 32 bitů, machine byte order)
N unsigned long (vždy 32 bitů, big endian byte order)
V unsigned long (vždy 32 bitů, little endian byte order)
f float (velikost a reprezentace závislá na systému)
d double (velikost a reprezentace závislá na systému)
x NUL byte
X Back up one byte
@ NUL-fill to absolute position
Všimněte si, že rozdíl mezi hodnotami se znaménkem a bez znaménka ovlivňuje pouze funkci unpack(), zatímco funkce pack() dává stejný výsledek pro formátovací kódy se znaménkem i bez znaménka.
Dále si všimněte, že PHP interně ukládá celočíselné hodnoty jako hodnoty se znaménkem o velikosti závislé na systému. Pokud zadáte hodnotu bez znaménka, která bude příliš velká, než aby se dala takto uložit, převede se na double, což často vytváří nežádoucí výsledky.
Předcházející | Domů | Další |
ignore_user_abort | Nahoru |