Serializar datos en PHP nos permite convertir en una cadena (string) estructuras de datos complejas. Así, podemos usar la cadena para almacenar los datos o bien podemos enviarlos a otro ordenador/lenguaje.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
echo "Array Inicial. PHP" . " "; $a = [1,2,3]; $b = [[1,2,3],[2,3,4]]; var_dump($a); var_dump($b); echo "Array serializado" . " "; $a = serialize($a); $b = serialize($b); var_dump($a); var_dump($b); echo "Array deserializado. PHP" . " "; $a = unserialize($a); $b = unserialize($b); var_dump($a); var_dump($b); |
El resultado de la ejecución del programa anterior seria el siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Hello from PHP Array Inicial. PHP array (size=3) 0 => int 1 1 => int 2 2 => int 3 array (size=2) 0 => array (size=3) 0 => int 1 1 => int 2 2 => int 3 1 => array (size=3) 0 => int 2 1 => int 3 2 => int 4 Array serializado string 'a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}' (length=30) string 'a:2:{i:0;a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}i:1;a:3:{i:0;i:2;i:1;i:3;i:2;i:4;}}' (length=74) Array deserializado. PHP array (size=3) 0 => int 1 1 => int 2 2 => int 3 array (size=2) 0 => array (size=3) 0 => int 1 1 => int 2 2 => int 3 1 => array (size=3) 0 => int 2 1 => int 3 2 => int 4 |
Serializar estructuras de datos (principalmente arrays u objetos) nos permite almacenarlos en ficheros o en base de datos sin perder ni contenido ni estructura. De forma que, serializamos el array, lo insertamos como cadena en la base de datos, y cuando lo recuperamos, lo deserializamos para trabajar con él.
[…] Serializar Arrays […]