Avatar ·

Serialização de arrays PHP: json_encode vs serialize — qual escolher?

Olá a todos! Sou novo em PHP e me deparei com um dilema ao desenvolver um projeto. Preciso salvar arrays em cache (arquivos ou Redis) e depois lê-los de volta. Encontrei duas formas: serialize() e json_encode(). Mas não consigo entender qual delas é melhor usar. Aqui está um exemplo do meu código: ```php // Opção 1: serialize $data = ['user' => 'Иван', 'age' => 30, 'hobbies' => ['чтение', 'программирование']]; $serialized = serialize($data); file_put_contents('cache.txt', $serialized); $restored = unserialize(file_get_contents('cache.txt')); // Opção 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); ``` Ambas as opções parecem funcionar, mas notei algumas estranhezas: 1. serialize() cria uma string mais "suja" com algumas letras e números. 2. json_encode() produz um JSON limpo, que pode ser aberto em qualquer editor. 3. Ao trabalhar com caracteres russos, json_en