(PECL igbinary >= 1.1.1)
igbinary_serialize — Gera uma representação binária compacta e armazenável de um valor
Gera uma representação armazenável de um valor.
Isso é útil para armazenar ou passar valores PHP sem perder seu tipo e estrutura.
Para transformar a string serializada em um valor PHP novamente, a função igbinary_unserialize() pode ser usada.
valueNota: Membros privados de objects têm o nome da classe anexado ao nome do membro; membros protegidos têm um
'*'prefixando o nome do membro. Esses valores prefixados possuem bytes nulos em ambos os lados.
Retorna uma string contendo uma representação de fluxo de bytes de
value que pode ser armazenada em qualquer lugar.
Observe que esta é uma string binária que pode incluir qualquer valor de byte e precisa
ser armazenada e tratada como tal. Por exemplo,
a saída de igbinary_serialize() geralmente deve ser armazenada em um campo BLOB
em um banco de dados, em vez de um campo CHAR ou TEXT.
Exemplo #1 Exemplo de igbinary_serialize()
<?php
$ser = igbinary_serialize(['test', 'test']);
echo urlencode($ser), "\n";
var_export(igbinary_unserialize($ser));
?>O exemplo acima produzirá:
%00%00%00%02%14%02%06%00%11%04test%06%01%0E%00 array ( 0 => 'test', 1 => 'test', )
Nota: Observe que muitos objetos integrados no PHP não podem ser serializados. No entanto, aqueles com essa habilidade implementam a interface Serializable ou os métodos mágicos __serialize()/__unserialize() ou __sleep()/__wakeup(). Se uma classe interna não atender a nenhum desses requisitos, ela não poderá ser serializada de forma confiável com nenhum serializador. Existem algumas exceções históricas à regra acima, onde alguns objetos internos poderiam ser serializados sem implementar a interface ou expor os métodos.