Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Perwakilan Rentetan Array Kembali ke Array dalam PHP?

Bagaimana untuk Menukar Perwakilan Rentetan Array Kembali ke Array dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-12-04 08:21:13282semak imbas

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

Cara Mengekstrak Tatasusunan daripada Perwakilan Bercetak

Memandangkan tatasusunan, anda mungkin ingin mencetak kandungannya menggunakan fungsi print_r() . Walau bagaimanapun, output yang terhasil akan menjadi perwakilan rentetan tatasusunan.

Untuk menukar semula rentetan ini kepada tatasusunan, anda boleh menggunakan fungsi tersuai seperti yang ditunjukkan di bawah:

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

Dengan memanggil fungsi ini dengan perwakilan bercetak tatasusunan anda sebagai hujah, anda boleh mendapatkan data tatasusunan asal:

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

Atas ialah kandungan terperinci Bagaimana untuk Menukar Perwakilan Rentetan Array Kembali ke Array dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn