Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiere ich eine String-Darstellung eines Arrays in PHP zurück in ein Array?

Wie konvertiere ich eine String-Darstellung eines Arrays in PHP zurück in ein Array?

Linda Hamilton
Linda HamiltonOriginal
2024-12-04 08:21:13276Durchsuche

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

So extrahieren Sie ein Array aus einer gedruckten Darstellung

Bei einem gegebenen Array möchten Sie möglicherweise dessen Inhalt mit der Funktion print_r() drucken . Die resultierende Ausgabe ist jedoch eine Zeichenfolgendarstellung des Arrays.

Um diese Zeichenfolge wieder in ein Array umzuwandeln, können Sie eine benutzerdefinierte Funktion wie die unten gezeigte verwenden:

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;
}

Durch Aufrufen dieser Funktion mit der gedruckten Darstellung Ihres Arrays als Argument können Sie die ursprünglichen Array-Daten erhalten:

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

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine String-Darstellung eines Arrays in PHP zurück in ein Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn