Maison >développement back-end >tutoriel php >Comment reconvertir une représentation sous forme de chaîne d'un tableau en un tableau en PHP ?

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

Linda Hamilton
Linda Hamiltonoriginal
2024-12-04 08:21:13282parcourir

How to Convert a String Representation of an Array Back into an Array in PHP?

Comment extraire un tableau d'une représentation imprimée

Étant donné un tableau, vous souhaiterez peut-être imprimer son contenu à l'aide de la fonction print_r() . Cependant, le résultat obtenu sera une représentation sous forme de chaîne du tableau.

Pour reconvertir cette chaîne en tableau, vous pouvez utiliser une fonction personnalisée telle que celle présentée ci-dessous :

function text_to_array($str) {

    // Initialize arrays
    $keys = array();
    $values = array();
    $output = array();

    // Check if the input is an array
    if( substr($str, 0, 5) == 'Array' ) {

        // Parse the input
        $array_contents = substr($str, 7, -2);
        $array_contents = str_replace(array('[', ']', '=>'), array('#!#', '#?#', ''), $array_contents);
        $array_fields = explode("#!#", $array_contents);

        // Process each array field
        for($i = 0; $i < count($array_fields); $i++ ) {

            // Skip the first field (it's empty)
            if( $i != 0 ) {

                $bits = explode('#?#', $array_fields[$i]);
                if( $bits[0] != '' ) $output[$bits[0]] = $bits[1];

            }
        }
    }

    return $output;
}

En appelant cette fonction avec la représentation imprimée de votre tableau comme argument, vous pouvez obtenir les données originales du tableau :

$array_string = print_r($original_array, true);
$new_array = text_to_array($array_string);

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