Maison > développement back-end > Problème PHP > Comment convertir des objets en tableaux en PHP

Comment convertir des objets en tableaux en PHP

PHPz
Libérer: 2023-04-18 13:54:00
original
566 Les gens l'ont consulté

PHP est un langage de programmation orienté objet. Par conséquent, les objets sont très courants en PHP, et la conversion entre objets et tableaux est également une opération fréquemment requise. Dans cet article, nous présenterons la conversion d'objets et de tableaux en PHP, et comment convertir des tableaux d'objets en objets tableau multidimensionnels.

  1. Object to Array

Utilisez la fonction intégrée de PHP pour convertir un objet en tableau Vous pouvez utiliser get_object_vars(), qui convertit les propriétés de l'objet en un tableau associatif.

Par exemple :

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$obj = new car;
$arr = get_object_vars($obj);
print_r($arr);
Copier après la connexion

Résultat de sortie :

Array
(
    [make] => Toyota
    [model] => Camry
    [color] => black
)
Copier après la connexion

Remarque : La fonction get_object_vars() ne peut convertir que les attributs publics (public). Ni les attributs protégés ni privés ne peuvent être convertis.

  1. Array to object

Utilisez les fonctions intégrées de PHP pour convertir des tableaux en objets. Vous pouvez utiliser (objet), et vous pouvez également utiliser la conversion de type forcée.

Par exemple :

$arr = array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black');
$obj = (object) $arr;

// Alternatively, you can use type casting
// $obj = (object) array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black');

echo $obj->make; // Toyota
Copier après la connexion

Résultat de sortie :

Toyota
Copier après la connexion
  1. Tableau d'objets vers un objet de tableau

En PHP, un tableau d'objets est un tableau composé d'objets. Si vous souhaitez convertir un tableau d'objets en un objet tableau, nous pouvons utiliser la fonction array_map() prédéfinie de PHP pour y parvenir.

Par exemple :

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$obj1 = new car;
$obj2 = new car;
$obj3 = new car;
$car_array = array($obj1, $obj2, $obj3);

// using array_map() to transform all objects into arrays:
$arr_array = array_map(function($object) {
    return get_object_vars($object);
}, $car_array);

// displaying the resulting array
print_r($arr_array);
Copier après la connexion

Résultat de sortie :

Array
(
    [0] => Array
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

    [1] => Array
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

    [2] => Array
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

)
Copier après la connexion
  1. Array d'objet à objet array

En PHP, un objet tableau est un objet composé d'un tableau. Si vous souhaitez convertir un objet tableau en un tableau d'objets, nous pouvons utiliser la fonction array_map() prédéfinie de PHP et effectuer un cast pour y parvenir.

Par exemple :

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$arr1 = array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black');
$arr2 = array('make' => 'Honda', 'model' => 'Civic', 'color' => 'white');
$arr3 = array('make' => 'Chevrolet', 'model' => 'Malibu', 'color' => 'silver');
$car_array = array($arr1, $arr2, $arr3);

$obj_array = array_map(function($array) {
    return (object) $array;
}, $car_array);

// displaying the resulting array
print_r($obj_array);
Copier après la connexion

Résultat de sortie :

Array
(
    [0] => stdClass Object
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

    [1] => stdClass Object
        (
            [make] => Honda
            [model] => Civic
            [color] => white
        )

    [2] => stdClass Object
        (
            [make] => Chevrolet
            [model] => Malibu
            [color] => silver
        )

)
Copier après la connexion
  1. Tableau d'objets vers un objet tableau multidimensionnel

En PHP, un objet tableau multidimensionnel fait référence à un tableau d'objets contenant plusieurs objets tableau. Si vous souhaitez convertir un tableau d'objets en un objet tableau multidimensionnel, nous pouvons utiliser la fonction array_map() prédéfinie de PHP et des tableaux associatifs pour y parvenir.

Par exemple :

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$obj1 = new car;
$obj2 = new car;
$obj3 = new car;
$car_array = array($obj1, $obj2, $obj3);

$arr_array = array_map(function($object) {
    return get_object_vars($object);
}, $car_array);

// combining the resulting arrays into a multidimensional array
$final_array = array('cars' => $arr_array);

// displaying the final multidimensional array
print_r($final_array);
Copier après la connexion

Résultat de sortie :

Array
(
    [cars] => Array
        (
            [0] => Array
                (
                    [make] => Toyota
                    [model] => Camry
                    [color] => black
                )

            [1] => Array
                (
                    [make] => Toyota
                    [model] => Camry
                    [color] => black
                )

            [2] => Array
                (
                    [make] => Toyota
                    [model] => Camry
                    [color] => black
                )

        )

)
Copier après la connexion

Dans cet article, nous présentons comment convertir des objets et des tableaux les uns dans les autres en PHP, et comment convertir des tableaux d'objets en objets tableau multidimensionnels. Ces conversions sont des opérations très courantes dans le développement PHP. La maîtrise de ces opérations apportera une grande commodité à notre travail de développement.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal