Sérialisation des tableaux PHP : json_encode vs serialize — que choisir ?
Bonjour à tous ! Je suis débutant en PHP et j'ai rencontré un dilemme lors du développement d'un projet. Je dois sauvegarder des tableaux dans un cache (fichiers ou Redis), puis les relire. J'ai trouvé deux méthodes : serialize() et json_encode(). Mais je ne comprends pas laquelle est la meilleure à utiliser.
Voici un exemple de mon code :
```php
// Option 1 : serialize
$data = ['user' => 'Иван', 'age' => 30, 'hobbies' => ['чтение', 'программирование']];
$serialized = serialize($data);
file_put_contents('cache.txt', $serialized);
$restored = unserialize(file_get_contents('cache.txt'));
// Option 2 : json_encode
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
file_put_contents('cache.json', $json);
$decoded = json_decode(file_get_contents('cache.json'), true);
```
Les deux options semblent fonctionner, mais j'ai remarqué des bizarreries :
1. serialize() crée une chaîne plus "sale" avec des lettres et des chiffres.
2. json_encode() produit un JSON propre, ouvrable dans n'importe quel éditeur.
3. Avec les caractères russes, json_en