Jak korzystać z funkcji serializacji PHP

Jak korzystać z funkcji serializacji PHP
W PHP transport lub przechowywanie złożonych struktur danych może być trudne, które wykraczają poza jeden skrypt. Aby to zająć, serialize () Dostępna jest funkcja, która może obsługiwać te struktury danych.

Jest to szczególnie przydatne podczas pracy z złożonymi tablicami zawierającymi elementy różnych typów danych lub innych tablic, ponieważ umożliwia łatwe przechowywanie tych struktur w bazie danych lub pliku. W tym artykule zawiera pełne szczegóły funkcji serialize () w PHP wraz z składnią, parametrami i przykładowym kodem.

Co to jest funkcja serializa () w PHP

PHP serialize () Funkcja może serializować tablicę, obiekt lub dowolną inną złożoną strukturę danych w ciągu. Ten serializowany ciąg może być przechowywany w bazie danych, przekazywany do innego skryptu PHP lub wysłany jako parametr w żądaniu HTTP.

Kiedy chcemy odzyskać oryginalną strukturę danych, możemy użyć unserialize () funkcja deserializacji ciągu z powrotem do jego oryginalnej formy.

Składnia

Składnia funkcji serialize () jest następująca:

serialize ($ wartości_in_form_of_array)

Parametr

Funkcja serializ () przyjmuje jeden parametr, który jest wartość być serializowanym. Może to być dowolny typ danych PHP, w tym tablice, obiekty i wartości skalarne, takie jak ciągi lub liczby całkowite.

Wartość zwracana

Wartość zwracana funkcji serialize () to ciąg reprezentujący serializowaną strukturę danych. String wyjściowy tej funkcji może być przechowywany w pliku i bazach danych lub może być przesyłany przez sieć.

Zwrócona wartość to ciąg, który można przechowywać w dowolnym miejscu i zawiera strumień bajtów wartości.

Dane wyjściowe serialize () jest ciągiem binarnym, który może zawierać zerowe bajty i dlatego powinno być traktowane jako takie, gdy są przechowywane lub obsługiwane. Zaleca się przechowywanie serializowanych danych w polu BLOB (duży duży obiekt) w bazie danych, a nie w polu char lub tekstem, zapewni to, że bajty zerowe są obsługiwane i zapisywane prawidłowo.

Przykładowy kod funkcji Serialize () w PHP

Ten przykład pokazuje, jak korzystać z funkcji serialize () w PHP do serializacji tablicy, a następnie wysypić serializowane dane na ekranie za pomocą instrukcji ECHO:

$ my_array = array („Linuxhint”, „php”, „samouczek”);
$ serialized_data = serialize ($ my_Array);
echo $ serialized_data;
?>

Tutaj stworzyliśmy tablicę z trzema elementami, a następnie serializowaliśmy ją za pomocą serialize () funkcjonować. Polecenie ECHO wydrukuje serializowany ciąg na ekranie.

Po uruchomieniu skryptu zobaczymy następujące dane wyjściowe:

A: 3: i: 0; S: 9: „Linuxhint”; i: 1; s: 3: „php”; i: 2; s: 8: „samouczek”;

Ten ciąg może wyglądać myląco, ale reprezentuje oryginalną tablicę w formie serializowanej. Ciąg reprezentuje tablicę z trzema elementami:

Pierwszy element ma indeks 0 i wartość „Linuxhint", Z długością łańcucha 9.

Drugi element ma indeks 1 i wartość „Php", Z długością łańcucha 3.

Trzeci element ma indeks 2 i wartość „Instruktaż", Z długością łańcucha 8.

Zastosowane tutaj notacja jest specyficzna dla wbudowanego formatu serializacji PHP, który służy do przechowywania i przesyłania złożonych struktur danych między różnymi aplikacjami, systemami lub platformami. Serializowane ciągi można przekonwertować z powrotem na ich oryginalne struktury danych PHP za pomocą unserialize () funkcjonować.

Dlaczego potrzebujemy funkcji serialize () w PHP

Oto lista niektórych funkcji, dlaczego używamy serialize () Funkcja w PHP:

  • Aby przechowywać złożone struktury danych: Funkcja serializ () umożliwia złożone struktury danych, takie jak tablice, obiekty i inne typy danych, aby można było łatwo przechowywać w bazie danych lub pliku.
  • Przekazywać dane między różnymi systemami: Funkcja serializ () zapewnia sposób przekazywania złożonych struktur danych między różnymi systemami, ponieważ dane serializowane mogą być przesyłane jako ciąg i deserializowany na końcu odbierania.
  • Aby zachować integralność danych: Ta funkcja zapewnia, że ​​struktura danych pozostaje nienaruszona podczas przechowywania lub transmisji, w przeciwieństwie do przechowywania lub przesyłania poszczególnych elementów osobno.
  • Aby zapisać pamięć: Może pomóc zapisać pamięć, zmniejszając rozmiar struktury danych, gdy jest przechowywany lub przesyłany jako serializowany ciąg, w przeciwieństwie do przechowywania lub przesyłania każdego elementu osobno.
  • Aby uprościć zarządzanie danymi: Serialize () upraszcza zarządzanie danymi, zapewniając znormalizowany sposób przechowywania i pobierania złożonych struktur danych, zmniejszając ilość kodu potrzebnego do zarządzania tymi strukturami.

Różnica między serializacją a kodowaniem w PHP

Serializacja i kodowanie to dwa różne pojęcia w PHP.

Serializacja to proces konwersji obiektu lub struktury danych w format ciągu, który można przechowywać lub przesyłać.

Na przykład, Kiedy chcemy zapisać stan obiektu w pliku lub bazie danych lub kiedy musimy przekazać obiekt między różnymi częściami aplikacji. W PHP funkcja serializ () służy do serializacji obiektów lub struktur danych w formacie ciągów.

Kodowanie, Z drugiej strony jest proces konwersji danych z jednego formatu na inny. W kontekście PHP kodowanie jest często używane do konwersji ciągów znaków na format, który można bezpiecznie przesyłać przez Internet.

Na przykład, Funkcja urlencode () służy do kodowania ciągu do użycia w adresie URL, a funkcja htmlentities () służy do kodowania znaków specjalnych w HTML.

Podsumowując, serializacja jest procesem przekształcania obiektu lub struktury danych w format ciągu, podczas gdy kodowanie jest procesem konwersji danych z jednego formatu na inny.

Wniosek

Funkcja serializ () może pomóc nam w przechowywaniu i pobieraniu złożonych struktur danych w PHP. Rozumiejąc podstawy tej funkcji, możemy łatwo obsługiwać i przechowywać złożone dane w aplikacjach PHP. Więcej informacji na temat serialize () funkcja, przeczytaj artykuł.