php convert print_r para matriz

<?php
    //The array we begin with
    $start_array = array('foo' => 'bar', 'bar' => 'foo', 'foobar' => 'barfoo');

    //Convert the array to a string
    $array_string = print_r($start_array, true);

    //Get the new array
    $end_array = text_to_array($array_string);

    //Output the array!
    print_r($end_array);

    function text_to_array($str) {
        $keys = array();
        $values = array();
        $output = array();

      	if( substr($str, 0, 5) == 'Array' ) {
            $array_contents = substr($str, 7, -2);
            $array_contents = str_replace(array('[', ']', '=>'), array('#!#', '#?#', ''), $array_contents);
            $array_fields = explode("#!#", $array_contents);

            for($i = 0; $i < count($array_fields); $i++ ) {
                if( $i != 0 ) {
                    $bits = explode('#?#', $array_fields[$i]);
                    if( $bits[0] != '' ) $output[$bits[0]] = $bits[1];
                }
            }
            return $output;
        } else {
            echo 'The given parameter is not an array.';
            return null;
        }

    }
?>
Undefined