En PHP, nous utilisons généralement des tableaux d'objets pour stocker et manipuler des données, mais dans certains cas, nous devons convertir les tableaux d'objets en tableaux ordinaires pour traiter les données plus facilement. Dans cet article, nous expliquerons comment convertir un tableau d'objets en un tableau normal en PHP.
1. Définition du tableau d'objets et du tableau ordinaire
En PHP, le tableau d'objets et le tableau ordinaire sont des structures de données importantes utilisées pour stocker et exploiter les données.
Le tableau d'objets se compose généralement d'un ensemble d'objets, chaque objet est une instance d'une classe qui définit un ensemble de propriétés et de méthodes. Par exemple, voici un exemple de tableau d'objets :
$user1 = new stdClass(); $user1->id = 1; $user1->name = 'Tom'; $user1->age = 25; $user2 = new stdClass(); $user2->id = 2; $user2->name = 'Jerry'; $user2->age = 30; $users = [$user1, $user2];
Dans l'exemple ci-dessus, nous définissons un tableau d'objets $users contenant deux objets utilisateur. Chaque objet utilisateur contient trois attributs : identifiant, nom et âge.
Les tableaux ordinaires sont composés d'un ensemble de valeurs scalaires. Les valeurs scalaires peuvent être des entiers, des chaînes, des nombres à virgule flottante, etc. Par exemple, voici un exemple de tableau normal :
$numbers = [1, 2, 3, 4, 5];
Dans l'exemple ci-dessus, nous avons défini un tableau normal $numbers qui contient cinq valeurs entières.
2. Convertir un tableau d'objets en tableau ordinaire
Bien que les tableaux d'objets et les tableaux ordinaires stockent les données de différentes manières, nous devons parfois convertir les tableaux d'objets en tableaux ordinaires pour faciliter le traitement des données.
En PHP, il existe de nombreuses façons de convertir un tableau d'objets en un tableau normal, dont plusieurs seront présentées ci-dessous.
1. Utilisez une boucle foreach pour parcourir le tableau d'objets et convertir chaque objet en tableau
$usersArray = []; foreach ($users as $user) { $usersArray[] = (array) $user; }
Dans l'exemple ci-dessus, nous définissons d'abord un nouveau tableau $usersArray, puis utilisons une boucle foreach pour parcourir le tableau d'objets d'origine $. utilisateurs, convertissant chaque L'objet est converti en tableau et ajouté au nouveau tableau $usersArray.
Lors de la conversion d'un objet en tableau, nous utilisons l'opérateur de conversion (tableau), qui convertit l'objet en type de tableau et utilise les attributs de l'objet comme valeurs clés du tableau et les valeurs d'attribut comme valeurs du tableau .
2. Utilisez la fonction array_map pour convertir chaque objet en tableau
$usersArray = array_map('get_object_vars', $users);
Dans l'exemple ci-dessus, nous utilisons la fonction intégrée PHP array_map Le premier paramètre est une fonction de rappel qui sera utilisée pour convertir l'objet en un tableau. array , le deuxième paramètre est le tableau d'objets d'origine $users.
Dans la fonction de rappel get_object_vars, nous transmettons l'objet en tant que paramètre et utilisons la fonction intégrée get_object_vars pour convertir l'objet en tableau et renvoyer le résultat du tableau.
3. Utilisez les fonctions json_encode et json_decode pour la conversion
$usersJson = json_encode($users); $usersArray = json_decode($usersJson, true);
Dans l'exemple ci-dessus, nous avons utilisé les fonctions json_encode et json_decode pour convertir le tableau d'objets en un tableau normal.
Tout d'abord, nous utilisons la fonction json_encode pour convertir le tableau d'objets d'origine $users en une chaîne JSON, puis utilisons la fonction json_decode pour reconvertir la chaîne JSON en type de tableau et définissons le deuxième paramètre sur true, indiquant que la conversion le résultat est un tableau associatif.
Il convient de noter que lors de l'utilisation de la fonction json_decode, si le deuxième paramètre est défini sur false ou non défini, le résultat de la conversion sera un objet, pas un tableau.
3. Résumé
Cet article présente trois méthodes pour convertir des tableaux d'objets en tableaux ordinaires en PHP, à savoir l'utilisation de la conversion de boucle foreach, la conversion de fonction array_map et la conversion de fonction json_encode/json_decode.
Quelle que soit la méthode que vous choisissez, vous pouvez facilement convertir le tableau d'objets en un tableau normal et faciliter le traitement des données.
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!