Como usar a função serializada do PHP

Como usar a função serializada do PHP
No PHP, pode ser difícil transportar ou armazenar estruturas de dados complexas que estendam além de um único script. Para abordar isso, o serialize () Função está disponível que pode lidar com essas estruturas de dados.

Isso é particularmente útil ao trabalhar com matrizes complexas que contêm elementos de diferentes tipos de dados ou outras matrizes, pois permite que essas estruturas sejam facilmente armazenadas em um banco de dados ou arquivo. Este artigo abrange detalhes completos da função Serialize () no PHP, juntamente com a sintaxe, os parâmetros e um código de exemplo.

O que é serialize () função em php

O php serialize () A função pode serializar em serializar uma matriz, objeto ou qualquer outra estrutura de dados complexa em uma string. Esta string serializada pode ser armazenada em um banco de dados, passada para outro script PHP ou enviado como um parâmetro em uma solicitação HTTP.

Quando queremos recuperar a estrutura de dados original, podemos usar o Unseialize () função para desserializar a string de volta à sua forma original.

Sintaxe

A sintaxe da função Serialize () é a seguinte:

serialize ($ valores_in_form_of_array)

Parâmetro

A função serialize () leva um único parâmetro, que é o valor para ser serializado. Isso pode ser qualquer tipo de dados PHP, incluindo matrizes, objetos e valores escalares, como seqüências ou inteiros.

Valor de retorno

O valor de retorno da função Serialize () é uma string que representa a estrutura de dados serializada. A sequência de saída desta função pode ser armazenada dentro de um arquivo e bancos de dados, ou pode ser transmitido por uma rede.

O valor retornado é uma string que pode ser armazenada em qualquer lugar e contém o fluxo de bytes do valor.

A saída de Serialize () é uma corda binária que pode conter bytes nulos e, portanto, deve ser tratada como tal quando armazenada ou manuseada. Recomenda -se armazenar os dados serializados em um campo Blob (grande objeto binário) em um banco de dados, em vez de um campo de char ou texto, isso garantirá que os bytes nulos sejam tratados e salvos corretamente.

Exemplo Código de Serialize () Função no PHP

Este exemplo demonstra como usar a função Serialize () no PHP para serializar uma matriz e, em seguida, produza os dados serializados para a tela usando a instrução ECHO:

$ my_array = array ("linuxhint", "php", "tutorial");
$ serialized_data = serialize ($ my_array);
echo $ serialized_data;
?>

Aqui criamos uma matriz com três elementos e depois serializamos usando o serialize () função. O comando echo imprimirá a string serializada na tela.

Depois de executar o script, veremos a seguinte saída:

A: 3: i: 0; s: 9: "Linuxhint"; i: 1; s: 3: "php"; i: 2; s: 8: "tutorial";

Essa string pode parecer confusa, mas representa a matriz original em uma forma serializada. A string representa uma matriz com três elementos:

O primeiro elemento tem um índice de 0 e um valor de “Linuxhint“, Com um comprimento de sequência de 9.

O segundo elemento tem um índice de 1 e um valor de “Php“, Com um comprimento de sequência de 3.

O terceiro elemento tem um índice de 2 e um valor de “Tutorial“, Com um comprimento de sequência de 8.

A notação usada aqui é específica para o formato de serialização interno do PHP, usado para armazenar e transferir estruturas de dados complexas entre diferentes aplicações, sistemas ou plataformas. As cadeias serializadas podem ser convertidas de volta em suas estruturas de dados PHP originais usando o Unseialize () função.

Por que precisamos da função Serialize () no PHP

Aqui está uma lista de alguns recursos de por que usamos o serialize () Função em php:

  • Para armazenar estruturas de dados complexas: A função serialize () permite que estruturas de dados complexas, como matrizes, objetos e outros tipos de dados, sejam facilmente armazenados em um banco de dados ou arquivo.
  • Passar dados entre diferentes sistemas: A função seialize () fornece uma maneira de passar estruturas de dados complexas entre diferentes sistemas, pois os dados serializados podem ser transmitidos como uma string e desserializados na extremidade receptora.
  • Para manter a integridade dos dados: Esta função garante que a estrutura de dados permaneça intacta durante o armazenamento ou transmissão, em vez de armazenar ou transmitir elementos individuais separadamente.
  • Para salvar a memória: Ele pode ajudar a salvar a memória, reduzindo o tamanho da estrutura de dados quando armazenado ou transmitido como uma corda serializada, em oposição a armazenar ou transmitir cada elemento separadamente.
  • Para simplificar o gerenciamento de dados: O Serialize () simplifica o gerenciamento de dados, fornecendo uma maneira padronizada de armazenar e recuperar estruturas de dados complexas, reduzindo a quantidade de código necessário para gerenciar essas estruturas.

Diferença entre serialização e codificação no PHP

Serialização e codificação são dois conceitos diferentes no PHP.

Serialização é o processo de conversão de um objeto ou estrutura de dados em um formato de string que pode ser armazenado ou transmitido.

Por exemplo, Quando queremos salvar o estado de um objeto em um arquivo ou banco de dados, ou quando precisamos passar um objeto entre diferentes partes de um aplicativo. No PHP, a função Serialize () é usada para serializar objetos ou estruturas de dados em um formato de string.

Codificação, Por outro lado, é o processo de conversão de dados de um formato para outro. No contexto do PHP, a codificação é frequentemente usada para converter uma sequência de caracteres em um formato que pode ser transmitido com segurança pela Internet.

Por exemplo, A função urlencode () é usada para codificar uma string para uso em um URL, e a função htmlEntities () é usada para codificar caracteres especiais em html.

Em resumo, a serialização é o processo de conversão de um objeto ou estrutura de dados em um formato de string, enquanto a codificação é o processo de conversão de dados de um formato para outro.

Conclusão

A função serialize () pode nos ajudar a armazenar e recuperar estruturas de dados complexas no PHP. Ao entender o básico desta função, podemos facilmente lidar e armazenar dados complexos em aplicativos PHP. Para mais detalhes sobre o serialize () função, leia o artigo.