Maison  >  Article  >  développement back-end  >  Comment convertir des objets JS en tableaux PHP et tableaux d'objets

Comment convertir des objets JS en tableaux PHP et tableaux d'objets

PHPz
PHPzoriginal
2023-04-18 14:07:07702parcourir

JavaScript (JS) et PHP sont tous deux des langages de programmation courants, et la transmission de données et la conversion de types de données entre eux sont souvent des problèmes auxquels nous devons prêter attention pendant le processus de programmation. Parmi eux, la conversion entre Object en JS et Array en PHP est une situation relativement courante. Cet article explique comment convertir des objets JS en tableaux PHP et tableaux d'objets.

1. Concepts de base des objets JS et des tableaux PHP

Dans JS, un objet (Object) est une collection de paires clé-valeur non ordonnées, où chaque clé est un attribut de type chaîne et chaque valeur peut être n'importe quel type de données. . Les objets peuvent être créés par "{}":

var person = {
    name: 'Bob',
    age: 18,
    gender: 'male'
};

En PHP, un tableau (Array) est une collection de listes ordonnées. Chaque élément du tableau a une clé unique (la clé peut être une chaîne ou un nombre), et cette clé et la valeur correspondante forment une paire clé-valeur. Les tableaux PHP peuvent être créés via "array()":

$person = array(
    'name' => 'Bob',
    'age' => 18,
    'gender' => 'male'
);

2. Convertir les objets JS en tableaux PHP

Pour convertir les objets JS en tableaux PHP, vous devez d'abord convertir les objets JS en données de type chaîne, puis les convertir dans un tableau PHP via certaines méthodes de traitement. La méthode d'implémentation spécifique est la suivante :

1. Utilisez JSON.stringify() pour convertir l'objet JS en une chaîne au format JSON.

var person = {
    name: 'Bob',
    age: 18,
    gender: 'male'
};

var str_person = JSON.stringify(person);

2. Utilisez json_decode() pour convertir la chaîne au format JSON en un objet PHP, puis utilisez get_object_vars() pour convertir l'objet en tableau.

$php_person = json_decode($str_person);

$php_array = get_object_vars($php_person);

3. Le $php_array final est un tableau associatif, et la valeur de la paire clé-valeur peut être obtenue par parcours de boucle.

foreach($php_array as $key => $value){
    echo $key . ': ' . $value . "<br />";
}

3. Convertir des objets JS en tableaux d'objets PHP

La conversion d'objets JS en tableaux d'objets PHP est similaire à la conversion d'objets JS en tableaux PHP. Il vous suffit d'effectuer certains traitements sur les résultats convertis. La méthode d'implémentation spécifique est la suivante :

1. Utilisez JSON.stringify() pour convertir l'objet JS en une chaîne au format JSON.

var persons = [
    {name:'Bob',age:18},
    {name:'Tom',age:20},
    {name:'Jerry',age:22}
];

var str_persons = JSON.stringify(persons);

2. Utilisez json_decode() pour convertir la chaîne au format JSON en un tableau associatif PHP, puis utilisez le parcours de boucle pour la convertir en un tableau d'objets PHP.

$php_persons = json_decode($str_persons,true);

$php_obj_persons = array();

foreach($php_persons as $person){
    $php_obj_person = (object)$person; 
    array_push($php_obj_persons,$php_obj_person);
}

3. Le $php_obj_persons final est un tableau d'objets PHP, et les valeurs d'attribut des objets peuvent être obtenues via une traversée de boucle.

foreach($php_obj_persons as $person){
    echo 'Name: ' . $person->name . ', Age: ' . $person->age . "<br />";
}

Les exemples de code ci-dessus sont uniquement à titre de référence. Le processus et les méthodes de mise en œuvre spécifiques peuvent être ajustés et optimisés en fonction de la situation réelle.

Résumé

Cet article présente la méthode spécifique de conversion d'objets JS en tableaux PHP et tableaux d'objets, qui implique des chaînes au format JSON, la fonction json_decode(), la fonction get_object_vars(), le parcours de boucle et d'autres technologies. Dans le processus de développement actuel, le choix de la méthode de traitement appropriée selon les besoins peut améliorer l'efficacité et la maintenabilité du code.

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