Hvordan du bruker php -serialiseringsfunksjon

Hvordan du bruker php -serialiseringsfunksjon
I PHP kan det være vanskelig å transportere eller lagre komplekse datastrukturer som strekker seg utover et enkelt skript. For å løse dette, Serialize () Funksjon er tilgjengelig som kan håndtere disse datastrukturene.

Dette er spesielt nyttig når du jobber med komplekse matriser som inneholder elementer av forskjellige datatyper eller andre matriser, da det gjør at disse strukturene enkelt kan lagres i en database eller fil. Denne artikkelen dekker komplette detaljer om Serialize () -funksjonen i PHP sammen med syntaks, parametere og en eksempelkode.

Hva er serialiser () -funksjonen i PHP

PHP Serialize () Funksjon kan serialisere en matrise, objekt eller annen kompleks datastruktur i en streng. Denne serialiserte strengen kan lagres i en database, sendes til et annet PHP -skript eller sendes som en parameter i en HTTP -forespørsel.

Når vi ønsker å hente den opprinnelige datastrukturen, kan vi bruke userialisere () funksjon for å deserialisere strengen tilbake i sin opprinnelige form.

Syntaks

Syntaksen til Serialize () -funksjonen er som følger:

Serialize ($ verdier_in_form_of_array)

Parameter

Serialize () -funksjonen tar en enkelt parameter, som er verdi å bli serialisert. Dette kan være hvilken som helst PHP -datatype, inkludert matriser, objekter og skalarverdier som strenger eller heltall.

Returverdi

Returverdien til Serialize () -funksjonen er en streng som representerer den serialiserte datastrukturen. Utgangsstrengen til denne funksjonen kan lagres i en fil og databaser, eller den kan overføres over et nettverk.

Den returnerte verdien er en streng som kan lagres hvor som helst og inneholder byte-stream av verdien.

Utgangen fra Serialize () er en binær streng som kan inneholde nullbyte og bør derfor behandles som sådan når den lagres eller håndteres. Det anbefales å lagre de serialiserte dataene i et Blob (Binary Large Object) -felt i en database, i stedet for et røye eller tekstfelt, dette vil sikre at nullbyte blir håndtert og lagret riktig.

Eksempel på kode for serialiser () -funksjonen i PHP

Dette eksemplet viser hvordan du bruker serialiseringsfunksjonen () i PHP for å serialisere en matrise, og deretter sende ut de serialiserte dataene til skjermen ved å bruke Echo -setningen:

$ my_array = array ("linuxhint", "php", "tutorial");
$ serialized_data = Serialize ($ my_array);
ekko $ serialisert_data;
?>

Her opprettet vi en matrise med tre elementer og serialiserte den deretter ved hjelp av Serialize () funksjon. Echo -kommandoen vil skrive ut den serialiserte strengen på skjermen.

Etter å ha kjørt skriptet, vil vi se følgende utdata:

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

Denne strengen kan se forvirrende ut, men den representerer den opprinnelige matrisen i en serialisert form. Strengen representerer en matrise med tre elementer:

Det første elementet har en indeks over 0 og en verdi av “Linuxhint“, Med en strenglengde på 9.

Det andre elementet har en indeks over 1 og en verdi av “PHP“, Med en strenglengde på 3.

Det tredje elementet har en indeks over 2 og en verdi av “Opplæringen“, Med en strenglengde på 8.

Notasjonen som brukes her er spesifikk for PHPs innebygde serialiseringsformat, som brukes til å lagre og overføre komplekse datastrukturer mellom forskjellige applikasjoner, systemer eller plattformer. Serialiserte strenger kan konverteres tilbake til sine originale PHP -datastrukturer ved å bruke userialisere () funksjon.

Hvorfor vi trenger Serialize () -funksjon i PHP

Her er en liste over noen funksjoner av hvorfor vi bruker Serialize () Funksjon i PHP:

  • Å lagre komplekse datastrukturer: Serialize () -funksjonen tillater komplekse datastrukturer som matriser, objekter og andre datatyper enkelt kan lagres i en database eller fil.
  • Å passere data mellom forskjellige systemer: Serialize () -funksjonen gir en måte å passere komplekse datastrukturer mellom forskjellige systemer, da de serialiserte dataene kan overføres som en streng og deserialiseres på mottakeren.
  • For å opprettholde dataintegritet: Denne funksjonen sikrer at datastrukturen forblir intakt under lagring eller overføring, i motsetning til lagring eller overføring av individuelle elementer separat.
  • For å spare minne: Det kan bidra til å lagre minnet ved å redusere størrelsen på datastrukturen når den er lagret eller overført som en serialisert streng, i motsetning til lagring eller overføring av hvert element separat.
  • For å forenkle datahåndtering: Serialize () forenkler datahåndtering ved å gi en standardisert måte å lagre og hente komplekse datastrukturer, redusere mengden kode som trengs for å administrere disse strukturene.

Forskjell mellom serialisering og koding i PHP

Serialisering og koding er to forskjellige konsepter i PHP.

Serialisering er prosessen med å konvertere et objekt eller datastruktur til et strengformat som kan lagres eller overføres.

For eksempel, Når vi vil lagre et objekts tilstand i en fil eller database, eller når vi trenger å passere et objekt mellom forskjellige deler av et program. I PHP brukes serialiseringsfunksjonen () for å serialisere objekter eller datastrukturer til et strengformat.

Koding, På den annen side er prosessen med å konvertere data fra ett format til et annet. I sammenheng med PHP brukes koding ofte til å konvertere en rekke tegn til et format som trygt kan overføres over Internett.

For eksempel, Urlencode () -funksjonen brukes til å kode en streng for bruk i en URL, og HTMLentities () -funksjonen brukes til å kode spesialtegn i HTML.

Oppsummert er serialisering prosessen med å konvertere et objekt eller datastruktur til et strengformat, mens koding er prosessen med å konvertere data fra ett format til et annet.

Konklusjon

Serialize () -funksjonen kan hjelpe oss med å lagre og hente komplekse datastrukturer i PHP. Ved å forstå det grunnleggende om denne funksjonen, kan vi enkelt håndtere og lagre komplekse data i PHP -applikasjoner. For mer detaljer om Serialize () funksjon, les artikkelen.