Red de conocimientos turísticos - Información de alquiler - ¿Qué es exactamente la serialización de PHP?

¿Qué es exactamente la serialización de PHP?

En PHP, la serialización se utiliza para almacenar o transferir valores PHP sin perder su tipo y estructura. Este artículo describe cuatro soluciones para la serialización de PHP. Si está interesado, puede obtener más información.

La serialización es el proceso de convertir variables en cadenas que se pueden guardar o transmitir; la deserialización consiste en convertir esto en el momento adecuado; Luego, la cadena se convierte en la variable original para su uso. Estos dos procesos se combinan para almacenar y transferir datos fácilmente, lo que hace que el programa sea más fácil de mantener.

1. ¿Qué es la serialización de PHP? Las funciones serializar y deserializar

Estas dos son funciones comúnmente utilizadas para serializar y deserializar datos en PHP.

$a = array('a' => 'Manzana' ,'b' => 'plátano' , 'c' => 'Coco');

//Secuencia Array $s = serialize($a);echo $s;//Resultado de salida: a:3:{s:1:"a";s:5:"Apple";s:1:"b";s : 6:"banana";s:1:"c";s:7:"Coconut";}

echo ''

//Deserialización $o = deserializar ($s );

print_r($o);

Cuando los valores de una matriz contienen caracteres como comillas dobles, comillas simples o dos puntos, es posible que se deserialicen y que algo salga mal. Para superar este problema, un buen truco es utilizar base64_encode y base64_decode.

$obj = array();//Serialización $s = base64_encode(serialize($obj)); //Deserialización $original = unserialize(base64_decode($s));

Pero la codificación base64 aumentará la longitud de la cadena. Para superar este problema, se puede utilizar con gzcompress.

//Definir una función para serializar objetos

function my_serialize( $obj ) { return base64_encode(gzcompress(serialize($obj)) }

//Función de deserialización my_unserialize($txt) { return unserialize(gzuncompress(base64_decode($txt))); }

2. ¿Qué es la serialización de PHP? El formato para serialización y deserialización es una buena opción:

Usar la salida en formato json_encode y json_decode es mucho más rápido que serializar y deserializar formatos.

El formato JSON es legible.

El formato JSON devuelve resultados de datos más pequeños que los serializados.

El formato JSON es abierto y portátil. Otros idiomas también pueden usarlo.

$a = array('a' => 'Manzana' ,'b' => 'plátano' , 'c' => 'Coco');

//Secuencia Array $s = json_encode($a);echo $s;//Resultado de salida: {"a":"Apple","b":"banana","c":"Coconut"}

echo '

//Deserialización $o = json_decode($s);

En el ejemplo anterior, la longitud de salida de json_encode es obviamente más larga que la longitud de salida de serialización en el ejemplo anterior. Sea breve.

[página]

3. ¿Qué es la serialización de PHP? var_export y eval

La función var_export genera la variable como una cadena; eval ejecuta la cadena como código PHP y la deserializa para obtenerla. el contenido de la variable original.

$a = array('a' => 'Manzana' ,'b' => 'plátano' , 'c' => 'Coco');

//Secuencia Array $s = var_export($a, true);echo $s;//Resultado de salida: array ( 'a' => 'Apple', 'b' => 'plátano', 'c' => 'Coco', )

echo '

';

//Deserialización eval('$my_var=' . $s . ';');

print_r($my_var);

4. ¿Qué es la serialización de PHP?

$a = array('a' => 'Manzana' ,'b' => 'plátano' , 'c' => 'Coco');

//Secuencia Array $s = wddx_serialize_value($a);echo $s;

//Resultado de salida (ver el código fuente de la cadena de salida): ApplebananaCoconut

echo '

';

//Deserialización $o = wddx_deserialize($s);

print_r($o);//Resultado de salida: Array ( [a] => Apple [b] => banana 1 => Coconut )

Se puede ver que la etiqueta XML tiene muchos caracteres, por lo que la serialización de este formato todavía ocupa mucho espacio.

Conclusión

Todas las funciones anteriores se pueden ejecutar normalmente al serializar variables de matriz, pero es diferente cuando se aplican a objetos. Por ejemplo, los objetos serializados json_encode fallarán. Al deserializar objetos, deserializar y evaluar tendrán efectos diferentes.

Este artículo "¿Qué es la serialización de PHP?" Este punto de conocimiento es lo que debes saber sobre su uso". Este es el final aquí. El editor siempre ha creído que hay ciertas razones por las que un determinado software de programación es popular. Lo primero que atrae a la gente deben ser sus funciones. El editor de Global Online School Te deseo buena suerte en el aprendizaje de PHP. Si quieres saber más sobre PHP, también puedes hacer clic en otros artículos de este sitio para aprender.