Explication détaillée de la technologie noire pour convertir des objets PHP en tableaux

黄舟
Libérer: 2023-03-16 18:08:01
original
1225 Les gens l'ont consulté

Habituellement, en PHP, le traitement des objets dans des tableaux demande un certain effort.
Mais ici aujourd'hui, je vais vous expliquer une technique noire si simple pour résoudre ce problème.

<?php
/**
 * Created by PhpStorm.
 * User: zrj
 * Date: 17-10-20
 * Time: 下午8:08
 */
declare(strict_types=1);//开启强类型模式

class Person
{
    public $name;
    public $age;

    public function __construct(string $name,int $age)
    {
        $this->name = $name;
        $this->age = $age;
    }
}

$jack = new Person(&#39;Jack&#39;, 18);
echo print_r($jack, true);
echo "<p>";

//对象转数组
$jack = json_decode(json_encode($jack), true);
echo print_r($jack, true);
Copier après la connexion

Regardons les résultats :

Person Object
(
    [name] => Jack
    [age] => 18
)

Array
(
    [name] => Jack
    [age] => 18
)
Copier après la connexion

Analyse des idées :

  1. Mettez d’abord l’objet Effectuer le traitement json_encode dans une chaîne json.

  2. Exécutez json_decode sur la chaîne json convertie.

    json_decode(json_encode($obj),true);

Résumé :

Avantages : Simple et rapide.

Inconvénients : Consommera le double de la mémoire.

Corriger Obtenir la posture :

L'objet lui-même occupe une petite quantité de mémoire et peut être utilisé directement.

Lorsque l'objet lui-même occupe une grande quantité de mémoire (comme des milliers d'enregistrements formant un objet d'ensemble de données), occuper deux fois la mémoire peut entraîner le PHP En raison de la limite de mémoire, une exception s'est produite.

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!

Étiquettes associées:
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