Maison >développement back-end >tutoriel php >Comment reconvertir une sortie de chaîne PHP `print_r()` en un tableau ?

Comment reconvertir une sortie de chaîne PHP `print_r()` en un tableau ?

DDD
DDDoriginal
2024-12-02 19:16:16830parcourir

How to Convert a PHP `print_r()` String Output Back into an Array?

Comment reconvertir une représentation sous forme de chaîne d'un tableau en tableau

En PHP, lorsque vous imprimez un tableau à l'aide de print_r(), il le convertit en une chaîne formatée visuellement. Bien qu'utile pour le débogage, ce format de chaîne n'est pas directement reconvertible en tableau. Cependant, avec une logique d'analyse personnalisée, il est possible de recréer le tableau d'origine.

Une fonction personnalisée, text_to_array(), a été développée pour gérer cette conversion. Elle fonctionne en :

Analyse de la chaîne :

  • La fonction vérifie d'abord si la chaîne donnée commence par "Array", indiquant qu'elle représente un tableau.
  • Le contenu du tableau, entre crochets, est extrait.
  • Délimiteurs ([, ] et =>) sont remplacés par des caractères d'espace réservé (#!# et #?#) pour faciliter l'analyse.
  • Le contenu du tableau modifié est ensuite divisé en champs individuels au niveau du délimiteur #!#.

Création du nouveau tableau :

  • Pour chaque champ, il utilise le #?# délimiteur pour séparer la clé et la valeur.
  • Si la clé n'est pas vide, elle ajoute la paire clé-valeur au nouveau tableau.

Exemple d'utilisation :

Considérez le tableau suivant :

$a = ['foo' => 'fooMe'];

Après l'avoir converti en chaîne à l'aide de print_r(), vous obtenez :

Array ( [foo] => fooMe )

Passer cette chaîne à la fonction text_to_array() entraînera le tableau d'origine :

$b = text_to_array('Array ( [foo] => fooMe )');
print_r($b);

Cela génère :

Array
(
    [foo] => fooMe
)

Par en implémentant cette logique d'analyse personnalisée, vous pouvez recréer un tableau à partir de sa représentation sous forme de chaîne imprimée, vous permettant de restaurer la fonctionnalité du tableau même après le débogage.

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