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.
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( 'hello', 42, array(1, 'two'), 'apple' ); // 转换成字符串 $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( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化上述数据 $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 )
json_encode() en PHP
:Sortie :
<?php // 一个复杂的数组 $myvar = array( 'hello', 42, array(1, 'two'), 'apple' ); // 序列化数据 $string = json_encode($myvar); // 打印序列化的数据 echo $string; ?>
Nous pouvons utiliser <🎜 Le > 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!