Maison  >  Article  >  développement back-end  >  Comment écrire un tableau d'objets dans un fichier en php

Comment écrire un tableau d'objets dans un fichier en php

PHPz
PHPzoriginal
2023-04-12 16:04:40804parcourir

PHP est un langage de programmation orienté objet. Je pense que les développeurs qui utilisent PHP rencontreront des situations où ils devront écrire des tableaux d'objets dans des fichiers. Cet article explique comment écrire un tableau d'objets dans un fichier en PHP.

  1. Convertir un tableau d'objets en chaîne JSON

Convertir un tableau d'objets en chaîne JSON est une condition préalable à l'écriture d'un tableau d'objets dans un fichier. PHP possède une fonction json_encode() intégrée qui peut convertir les variables PHP au format JSON. Supposons qu'il existe un tableau d'objets $data :

$data = array(
    array("name" => "Tom", "age" => 18),
    array("name" => "Jerry", "age" => 20)
);

Vous pouvez utiliser la fonction json_encode() pour convertir ce tableau d'objets en une chaîne JSON :

$json_str = json_encode($data);
  1. Écrivez une chaîne JSON dans un fichier

Ensuite, vous pouvez utilisez la fonction file_put_contents () intégrée de PHP pour écrire une chaîne JSON dans un fichier. La syntaxe de cette fonction est la suivante :

file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) : int

Parmi eux, $filename représente le nom du fichier à écrire ; $data représente les données à écrire, qui peuvent être une chaîne, un tableau ou un objet ; $flags représente des indicateurs facultatifs, couramment utilisés ; les premiers sont FILE_APPEND (ajouter des données à la fin du fichier) et LOCK_EX (verrouiller exclusivement le fichier) $context représente un contexte facultatif ;

Le code pour écrire une chaîne JSON dans un fichier est le suivant :

$filename = "data.json";
file_put_contents($filename, $json_str);
  1. Lisez la chaîne JSON du fichier et convertissez-la en un tableau d'objets

Ensuite, vous pouvez utiliser la fonction file_get_contents() pour lire la chaîne JSON du fichier et convertie en un tableau d'objets. La syntaxe de cette fonction est la suivante :

file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = 0 [, int $maxlen = NULL ]]]] ) : string|false

Parmi eux, $filename représente le nom du fichier à lire ; $use_include_path représente s'il faut rechercher des fichiers dans le chemin d'inclusion ; $context représente le contexte facultatif ; $offset représente le décalage ; maxlen représente le nombre maximum d'octets à lire.

Le code pour lire une chaîne JSON à partir d'un fichier et la convertir en tableau d'objets est le suivant :

$filename = "data.json";
$json_str = file_get_contents($filename);
$data = json_decode($json_str, true);

La fonction json_decode() convertit une chaîne JSON en variable PHP, et le deuxième paramètre indique s'il faut convertir le JSON objet dans un tableau associatif. Les résultats sont enregistrés dans la variable $data. Si vous n'avez pas besoin de convertir en tableau associatif, vous pouvez définir le deuxième paramètre sur false, par exemple :

$data = json_decode($json_str);
  1. Code complet

Le code complet pour écrire un tableau d'objets dans un fichier est le suivant :

// 对象数组转换为JSON字符串
$data = array(
    array("name" => "Tom", "age" => 18),
    array("name" => "Jerry", "age" => 20)
);
$json_str = json_encode($data);

// 将JSON字符串写入文件
$filename = "data.json";
file_put_contents($filename, $json_str);

// 从文件中读取JSON字符串并转换为对象数组
$json_str = file_get_contents($filename);
$data = json_decode($json_str, true);

// 输出结果
var_dump($data);

Le résultat du code ci-dessus est :

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(3) "Tom"
    ["age"]=>
    int(18)
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "Jerry"
    ["age"]=>
    int(20)
  }
}
  1. Résumé

Cet article présente comment écrire un tableau d'objets dans un fichier en PHP, ce qui inclut la conversion d'un tableau d'objets en chaîne JSON, l'écriture d'une chaîne JSON dans un fichier, et lire une chaîne JSON à partir d'un fichier et la convertir en un tableau d'objets. J'espère que cet article sera utile à tout le monde.

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