Maison  >  Article  >  développement back-end  >  Comment ajouter des données à un fichier .JSON tout en conservant la structure et les identifiants incrémentiels en PHP ?

Comment ajouter des données à un fichier .JSON tout en conservant la structure et les identifiants incrémentiels en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 01:57:02571parcourir

How to Append Data to a .JSON File while Maintaining Structure and Incremental IDs in PHP?

Ajouter des données à un fichier .JSON avec PHP : obtenir des ID incrémentiels et préserver la structure JSON

Pour ajouter des données à un fichier .JSON avec PHP, une approche courante consiste à lire le contenu JSON existant, à ajouter les nouvelles données, puis à réécrire le contenu mis à jour dans le fichier. Cela garantit que la structure JSON est préservée et que de nouveaux enregistrements sont ajoutés avec les identifiants appropriés.

Considérez le script PHP suivant, qui modifie le code fourni dans la question :

<code class="php">$data = $_POST['data'];

$fileContents = file_get_contents('results.json');
$tempArray = json_decode($fileContents);
$tempArray[] = $data;

$jsonData = json_encode($tempArray);
file_put_contents('results.json', $jsonData);</code>

Cette version révisée code :

  1. Lit le contenu JSON existant du fichier à l'aide de file_get_contents().
  2. Décode la chaîne JSON dans un tableau PHP à l'aide de json_decode().
  3. Ajoute les nouvelles données dans le tableau à l'aide de array_push().
  4. Encode le tableau mis à jour dans une chaîne JSON à l'aide de json_encode().
  5. Écrase le fichier existant avec le contenu JSON mis à jour à l'aide de file_put_contents() .

En employant cette approche, l'ID de chaque enregistrement peut être facilement incrémenté en ajoutant une fonction « compte » au code. De plus, la structure JSON valide est conservée, garantissant que les données peuvent être consommées et traitées correctement.

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