Maison développement back-end Problème PHP php convertir un objet en tableau

php convertir un objet en tableau

May 23, 2023 pm 02:01 PM

En PHP, les objets et les tableaux sont deux types de données de base. Les objets constituent une partie importante des langages de programmation orientée objet (POO), qui nous permettent de combiner des données et des fonctions pour les rendre plus pratiques à utiliser. En revanche, un tableau est une collection non ordonnée pouvant contenir de nombreux types de données différents. Dans certains cas, nous pouvons avoir besoin de convertir des objets en tableaux pour effectuer certaines opérations ou faciliter la sortie, cet article se concentrera donc sur la façon de convertir des objets en tableaux en PHP.

De manière générale, PHP propose deux façons de convertir des objets en tableaux, à savoir en utilisant cast et en utilisant les fonctions intégrées de PHP. Les éléments suivants sont expliqués séparément :

1. Utiliser la conversion de type forcée

La conversion de type forcée en PHP est très simple. Il vous suffit de mettre la valeur à forcer dans la cible. données à convertir. Juste avant le type. Il en va de même pour la conversion d'objets en tableaux. Voici un exemple de code pour convertir un objet en tableau :

$obj = new stdClass();
$obj->foo = 'bar';
$obj->hello = 'world';

$arr = (array) $obj;

print_r($arr);
Copier après la connexion

Résultat de sortie :

Array
(
    [foo] => bar
    [hello] => world
)
Copier après la connexion
Copier après la connexion

Comme le montre le code ci-dessus, en convertissant un objet en un tableau, nous pouvons facilement convertir les propriétés d'un objet au format de paire clé-valeur d'un tableau.

2. Utilisez les fonctions intégrées de PHP

Par rapport à la conversion de type forcée, l'utilisation des fonctions intégrées de PHP pour convertir des objets en tableaux peut être plus pratique dans certains cas. PHP fournit une fonction get_object_vars(), qui est utilisée pour obtenir toutes les variables membres non statiques de l'objet spécifié. On peut directement attribuer la valeur renvoyée par cette fonction au tableau pour convertir l'objet en tableau. Voici un exemple de code qui utilise cette méthode pour convertir un objet en tableau : get_object_vars()函数,该函数用于获取指定对象的所有非静态成员变量。我们可以将该函数返回的值直接赋值给数组,就可以将对象转换为数组。下面是使用该方法将对象转换为数组的示例代码:

class Person {
    public $name;
    public $age;
    private $gender;
    
    public function __construct($name, $age, $gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
}

$obj = new Person('Alice', 25, 'female');
$arr = get_object_vars($obj);

print_r($arr);
Copier après la connexion

输出结果:

Array
(
    [name] => Alice
    [age] => 25
)
Copier après la connexion

从上面的代码可以看出,使用get_object_vars()函数将对象转换为数组,只会返回对象的公共属性,而私有属性和保护属性不会被返回。

需要注意的是,当对象中存在未定义属性时,使用get_object_vars()函数将会抛出一个传统警告。因此,在使用该方法时,应该先检查对象是否定义了该属性。或者,也可以使用json_decode(json_encode($object), true)方法,该方法在内部使用了get_object_vars()

$obj = new stdClass();
$obj->foo = 'bar';
$obj->hello = 'world';

$arr = json_decode(json_encode($obj), true);

print_r($arr);
Copier après la connexion

Résultat de sortie :

Array
(
    [foo] => bar
    [hello] => world
)
Copier après la connexion
Copier après la connexion
Comme le montre le code ci-dessus, utilisez get_object_vars() La fonction convertit l'objet en tableau et renvoie uniquement les propriétés publiques de l'objet, tandis que les propriétés privées et les propriétés protégées ne seront pas renvoyées.

Il convient de noter que lorsqu'il y a des propriétés non définies dans l'objet, l'utilisation de la fonction get_object_vars() lancera un avertissement traditionnel. Par conséquent, lorsque vous utilisez cette méthode, vous devez d’abord vérifier si l’objet a cette propriété définie. Alternativement, vous pouvez également utiliser la méthode json_decode(json_encode($object), true), qui utilise la fonction get_object_vars() en interne et est plus efficace lors de la gestion d'attributs non définis. Être rigoureux. Voici un exemple de code qui utilise cette méthode pour convertir un objet en tableau : #🎜🎜#rrreee#🎜🎜#Résultat de sortie : #🎜🎜#rrreee#🎜🎜#Pour résumer, vous pouvez utiliser la coercition pour convertir un Conversion d'un objet PHP en un tableau de type, vous pouvez également utiliser les fonctions intégrées de PHP, elles peuvent facilement convertir les propriétés de l'objet au format de paires clé-valeur de tableau. Quelle que soit la méthode utilisée, vous devez vérifier si les propriétés définies sont des propriétés publiques et s'il existe des contrôles pour les propriétés non définies. #🎜🎜#

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Comment récupérer les données d'une base de données à l'aide de PHP? Comment récupérer les données d'une base de données à l'aide de PHP? Mar 20, 2025 pm 04:57 PM

L'article discute de la récupération des données des bases de données à l'aide de PHP, couvrant les étapes, les mesures de sécurité, les techniques d'optimisation et les erreurs communes avec des solutions. COMMANDE CHAPITRE: 159

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

L'article traite des fonctions MySQLI_Query () et MySQLI_Fetch_assoc () en PHP pour les interactions de la base de données MySQL. Il explique leurs rôles, leurs différences et fournit un exemple pratique de leur utilisation. L'argument principal se concentre sur les avantages de l'USIN

See all articles