Ir para o conteúdo

Converter um array PHP para um objecto JavaScript

function arrayToJSObject($array, $varname, $sub = false ) {
    $jsarray = $sub ? $varname . "{" : $varname . " = {\n";
    $varname = "\t$varname";
    reset ($array);

    // Loop through each element of the array
    while (list($key, $value) = each($array)) {
        $jskey = "'" . $key . "' : ";

        if (is_array($value)) {
            // Multi Dimensional Array
            $temp[] = arrayToJSObject($value, $jskey, true);
        } else {
            if (is_numeric($value)) {
                $jskey .= "$value";
            } elseif (is_bool($value)) {
                $jskey .= ($value ? 'true' : 'false') . "";
            } elseif ($value === NULL) {
                $jskey .= "null";
            } else {
                static $pattern = array("\\", "'", "\r", "\n");
                static $replace = array('\\', '\\\'', '\r', '\n');
                $jskey .= "'" . str_replace($pattern, $replace, $value) . "'";
            }
            $temp[] = $jskey;
        }
    }
    $jsarray .= implode(', ', $temp);

    $jsarray .= "}\n";
    return $jsarray;
}

Exemplo retirado de: http://www.weberdev.com/get_example-4719.html