Come utilizzare la funzione di serializzazione PHP

Come utilizzare la funzione di serializzazione PHP
In PHP, può essere difficile trasportare o archiviare strutture di dati complesse che si estendono oltre un singolo script. Per affrontare questo, il serializza () La funzione è disponibile in grado di gestire queste strutture di dati.

Ciò è particolarmente utile quando si lavora con array complessi che contengono elementi di diversi tipi di dati o altri array, in quanto consente a queste strutture di essere facilmente archiviate in un database o in un file. Questo articolo copre i dettagli completi della funzione serializza () in PHP insieme a sintassi, parametri e un codice di esempio.

Qual è la funzione serializzante () in PHP

Il php serializza () La funzione può serializzare un array, un oggetto o qualsiasi altra struttura dati complessa in una stringa. Questa stringa serializzata può essere archiviata in un database, passata a un altro script PHP o inviata come parametro in una richiesta HTTP.

Quando vogliamo recuperare la struttura dei dati originali, possiamo usare il UNSERIALIZE () funzione per deserializzare la stringa nella sua forma originale.

Sintassi

La sintassi della funzione serializza () è la seguente:

serializza ($ valori_in_form_of_array)

Parametro

La funzione serializza () prende un singolo parametro, che è il valore essere serializzato. Questo può essere qualsiasi tipo di dati PHP, inclusi array, oggetti e valori scalari come stringhe o numeri interi.

Valore di ritorno

Il valore di ritorno della funzione serializza () è una stringa che rappresenta la struttura dei dati serializzata. La stringa di output di questa funzione può essere archiviata all'interno di un file e dei database, oppure può essere trasmessa su una rete.

Il valore restituito è una stringa che può essere memorizzata ovunque e contiene il byte-stream del valore.

L'output di serialize () è una stringa binaria che può contenere byte null e quindi dovrebbe essere trattata come tale se memorizzata o gestita. Si consiglia di archiviare i dati serializzati in un campo BLOB (oggetto bigo grande) in un database, piuttosto che un campo di carattere o di testo, questo garantirà che i byte null siano gestiti e salvati correttamente.

Esempio di codice di serializza () in PHP

Questo esempio dimostra come utilizzare la funzione serializza () in PHP per serializzare un array, quindi emettere i dati serializzati sullo schermo usando l'istruzione Echo:

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

Qui abbiamo creato un array con tre elementi e quindi serializzato usando il serializza () funzione. Il comando Echo stamperà la stringa serializzata sullo schermo.

Dopo aver eseguito lo script, vedremo il seguente output:

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

Questa stringa può sembrare confusa, ma rappresenta l'array originale in una forma serializzata. La stringa rappresenta un array con tre elementi:

Il primo elemento ha un indice di 0 e un valore di "Linuxhint“, Con una lunghezza della corda di 9.

Il secondo elemento ha un indice di 1 e un valore di "PHP“, Con una lunghezza della corda di 3.

Il terzo elemento ha un indice di 2 e un valore di "Tutorial“, Con una lunghezza della corda di 8.

La notazione qui utilizzata è specifica per il formato di serializzazione integrato di PHP, che viene utilizzato per archiviare e trasferire strutture di dati complesse tra diverse applicazioni, sistemi o piattaforme. Le stringhe serializzate possono essere convertite nelle loro strutture di dati PHP originali utilizzando il UNSERIALIZE () funzione.

Perché abbiamo bisogno della funzione serializza () in PHP

Ecco un elenco di alcune caratteristiche del perché utilizziamo il serializza () Funzione in php:

  • Per archiviare strutture di dati complesse: La funzione serializzante () consente a strutture di dati complesse come array, oggetti e altri tipi di dati da memorizzare facilmente in un database o file.
  • Per passare i dati tra sistemi diversi: La funzione serializzante () fornisce un modo per passare complesse strutture di dati tra sistemi diversi, poiché i dati serializzati possono essere trasmessi come stringa e deserializzati sull'estremità ricevente.
  • Per mantenere l'integrità dei dati: Questa funzione garantisce che la struttura dei dati rimanga intatta durante l'archiviazione o la trasmissione, invece di archiviare o trasmettere singoli elementi separatamente.
  • Per salvare la memoria: Può aiutare a salvare la memoria riducendo le dimensioni della struttura dei dati quando memorizzata o trasmessa come stringa serializzata, al contrario di memorizzare o trasmettere ciascun elemento separatamente.
  • Per semplificare la gestione dei dati: Serialize () semplifica la gestione dei dati fornendo un modo standardizzato per archiviare e recuperare strutture di dati complesse, riducendo la quantità di codice necessaria per gestire queste strutture.

Differenza tra serializzazione e codifica in PHP

La serializzazione e la codifica sono due concetti diversi in PHP.

Serializzazione è il processo di conversione di un oggetto o una struttura di dati in un formato stringa che può essere archiviato o trasmesso.

Per esempio, Quando vogliamo salvare lo stato di un oggetto in un file o un database o quando dobbiamo passare un oggetto tra le diverse parti di un'applicazione. In PHP, la funzione serializza () viene utilizzata per serializzare oggetti o strutture di dati in un formato stringa.

Codifica, D'altra parte, è il processo di conversione dei dati da un formato a un altro. Nel contesto di PHP, la codifica viene spesso utilizzata per convertire una stringa di caratteri in un formato che può essere trasmesso in sicurezza su Internet.

Per esempio, La funzione UrlenCode () viene utilizzata per codificare una stringa per l'uso in un URL e la funzione htmlenties () viene utilizzata per codificare i caratteri speciali in HTML.

In sintesi, la serializzazione è il processo di conversione di un oggetto o una struttura di dati in un formato stringa, mentre la codifica è il processo di conversione dei dati da un formato a un altro.

Conclusione

La funzione serializza () può aiutarci a archiviare e recuperare strutture di dati complesse in PHP. Comprendendo le basi di questa funzione, possiamo facilmente gestire e archiviare dati complessi nelle applicazioni PHP. Per maggiori dettagli sul serializza () funzione, leggi l'articolo.