igbinary_serialize
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
igbinary_serialize
Референца за `function.igbinary-serialize.php` со подобрена типографија и навигација.
igbinary_serialize
(PECL igbinary >= 1.1.1)
igbinary_serialize — Generates a compact, storable binary representation of a value
= NULL
Генерира претставување што може да се зачува на вредност.
Ова е корисно за складирање или поминување на PHP вредности без губење на нивниот тип и структура.
To make the serialized string into a PHP value again, igbinary_unserialize() може да се користи.
Параметри
value-
Вредноста што треба да се серијализира. igbinary_serialize()
ракува со сите типови, освен resource-тип и некои objects (see note below). Even arrays that contain references to itself can be processed by igbinary_serialize(). Circular references inside the array or object that is being serializend will also be stored. Any other reference will be lost.
When serializing objects, igbinary will attempt to call the member functions
__serialize() or
__sleep() пред серијализација. Ова е за да му се овозможи на објектот да направи какво било чистење во последен момент, итн. пред да биде серијализиран. Исто така, кога објектот се враќа користејќи
igbinary_unserialize() the __unserialize() or
__wakeup() се повикува членската функција.
Забелешка: Private members of objects have the class name prepended to the member name; protected members have a
'*'prepended to the member name. These prepended values have null bytes on either side.
Вратени вредности
Враќа низа што содржи бинарна претстава на
value што може да се зачува било каде.
Note that this is a binary string which can include any byte value, and needs to be stored and handled as such. For example,
igbinary_serialize() output should generally be stored in a BLOB
field in a database, rather than a CHAR or TEXT field.
Примери
Пример #1 igbinary_serialize() example
<?php
$ser = igbinary_serialize(['test', 'test']);
echo urlencode($ser), "\n";
var_export(igbinary_unserialize($ser));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
%00%00%00%02%14%02%06%00%11%04test%06%01%0E%00 array ( 0 => 'test', 1 => 'test', )
Белешки
Забелешка: Имајте предвид дека многу вградени PHP објекти не можат да се серијализираат. Сепак, оние со оваа способност или ја имплементираат Countable интерфејсот или магичниот __serialize()/__unserialize() or __sleep()/__wakeup() methods. If an internal class does not fulfill any of those requirements, it cannot reliably be serialized with any serializer. Постојат некои историски исклучоци од горенаведеното правило, каде што некои внатрешни објекти можеа да се серијализираат без да се имплементира интерфејсот или да се откријат методите.
Види Исто така
- serialize() - Генерира претстава на вредност што може да се чува
- igbinary_unserialize() - Создава PHP вредност од складирана репрезентација од igbinary_serialize
- var_export() - Излегува или враќа репрезентација на променлива што може да се парсира
- json_encode() - Враќа JSON претстава на вредност
- Серијализирање објекти
- __sleep()
- __wakeup()
- __serialize()
- __unserialize()