2012-03-29 20 views
2

Ich konvertiere ein PHP-Programm in VBScript für ASP. Ich stehe fest, um einen Weg zu finden, ein mehrdimensionales Array zu strukturieren und könnte etwas Hilfe gebrauchen.Mehrdimensionales Array in VBScript einrichten

Hier ist, wie es setzt in der PHP-Version auf:

// $_SESSION[model name][level name][menu name] => [state] 
$_SESSION[$model] = array('level_name' => array('menu_name' => array())); 

und dann hier ist, wie ich einen Wert später eingestellt auf

$_SESSION[$model][$level_name][$menu_name] = array('menu_state' => 'UNCHECKED'); 

Hier ist, was ich in VBScript versucht, die ‚doesn t Arbeit

Session(model).Add "level_name", Array() 
Session(model)("level_name").Add "menu_name", Array() 
Session(model)("level_name")("menu_name").Add "menu_state", Array() 

und dann versuchen, den Wert zu setzen

Session(model)(level_name)(menu_name)("menu_state") = "UNCHECKED" 

aber ich am Ende mit dem sehr hilfreich 500 Server Error.

Irgendwelche Ideen?

+0

Ich versuche JSON verwenden würde. http://stackoverflow.com/questions/1019223/any-good-libraries-for-parsing-json-in-classic-asp http://stackoverflow.com/questions/2292575/classic -asp-serverseitige json-library –

+0

Nein danke. Es ist schwer genug, eine neue Sache zu lernen, eine weitere hinzuzufügen würde es noch schwieriger machen. –

Antwort

1

Sie benötigen ein Wörterbuch der Wörterbücher:

Dim dicX : Set dicX = CreateObject("Scripting.Dictionary") 
    Set dicX("A") = CreateObject("Scripting.Dictionary") 
    Set dicX("A")("B") = CreateObject("Scripting.Dictionary") 
    Set dicX("A")("B")("C") = CreateObject("Scripting.Dictionary") 
    dicX("A")("B")("C")("D") = "WhatEver" 
    WScript.Echo dicX("A")("B")("C")("D") 
+0

Danke, damit werde ich gehen. –