ホームページ >バックエンド開発 >PHPチュートリアル >PHP で配列の文字列表現を配列に変換するにはどうすればよいですか?

PHP で配列の文字列表現を配列に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-04 08:21:13276ブラウズ

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

印刷表現から配列を抽出する方法

配列が与えられた場合、print_r() 関数を使用してその内容を印刷したい場合があります。 。ただし、結果の出力は配列の文字列表現になります。

この文字列を配列に変換するには、以下に示すようなカスタム関数を利用できます。

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

配列の出力表現を引数としてこの関数を呼び出すと、元の配列データを取得できます:

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

以上がPHP で配列の文字列表現を配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。