Maison  >  Article  >  développement back-end  >  Comment PHP sérialise-t-il les données ?

Comment PHP sérialise-t-il les données ?

藏色散人
藏色散人original
2019-02-25 16:07:095562parcourir

La plupart du temps, nous devons stocker des tableaux complexes dans une base de données ou dans des fichiers en PHP. Certaines personnes peuvent utiliser les fonctions intégrées de PHP pour accomplir cette tâche. Un tableau complexe est un tableau contenant des éléments de plusieurs types de données ou tableaux.

Comment PHP sérialise-t-il les données ?

Cependant, nous avons déjà une solution pratique pour gérer cette situation. Nous n'avons pas besoin d'écrire notre propre fonction pour convertir des tableaux complexes en chaînes formatées. Il existe deux méthodes populaires de sérialisation de variables. (Recommandé : Tutoriel PHP)

1. sérialiser()

2. 🎜>Nous pouvons sérialiser n'importe quelle donnée en PHP en utilisant la fonction serialize(). La fonction serialize() accepte un paramètre, qui correspond aux données que nous souhaitons classer et renvoie une chaîne sérialisée.

Le programme est le suivant :

Sortie :

<?php 
  
//一个复杂的数组
$myvar = array( 
    &#39;hello&#39;, 
    42, 
    array(1, &#39;two&#39;), 
    &#39;apple&#39;
); 
  
// 转换成字符串 
$string = serialize($myvar); 
  
// 打印序列化的数据
echo $string; 
  
?>

À partir du code ci-dessus, nous obtenons une variable $string avec des données sérialisées. Nous pouvons utiliser la fonction unserialize() pour désérialiser la valeur d'une variable afin de renvoyer la valeur originale du tableau complexe $myvar.

a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:
0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}

Exemple de fonctions serialize() et unserialize() :

Sortie :

<?php
  
// 一个复杂的数组
$myvar = array(
    &#39;hello&#39;,
    42,
    array(1, &#39;two&#39;),
    &#39;apple&#39;
);
  
// 序列化上述数据
$string = serialize($myvar);
  
// 反序列化$string中的数据
$newvar = unserialize($string);  
   
// 打印未序列化的数据
print_r($newvar);
  
?>

Il s'agit de la méthode de sérialisation PHP native. Cependant, comme JSON est devenu si populaire ces dernières années, ils ont décidé d'en ajouter le support dans PHP 5.2. Vous pouvez désormais sérialiser et désérialiser des données en PHP en utilisant respectivement les fonctions json_encode() et json_decode().

Array
(
    [0] => hello
    [1] => 42
    [2] => Array
        (
            [0] => 1
            [1] => two
        )

    [3] => apple
)
Étant donné que le format JSON est uniquement du texte, il peut être facilement envoyé vers ou depuis le serveur et peut être utilisé comme format de données par n'importe quel langage de programmation.

Voyons comment utiliser

json_encode() en PHP

 :

Sortie :

<?php 
  
// 一个复杂的数组
$myvar = array( 
    &#39;hello&#39;, 
    42, 
    array(1, &#39;two&#39;), 
    &#39;apple&#39;
); 
  
// 序列化数据
$string = json_encode($myvar); 
  
// 打印序列化的数据
echo $string; 
  
?>

Nous pouvons utiliser La fonction json_decode()

décode les données codées dans le programme ci-dessus pour obtenir le tableau complexe d'origine.
["hello",42,[1,"two"],"apple"]

Le programme est le suivant :

Sortie :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:A quoi sert foreach ?Article suivant:A quoi sert foreach ?