Настройка многомерного массива в VBScript - PullRequest
2 голосов
/ 29 марта 2012

Я конвертирую php-программу в VBScript для ASP.Я застрял, пытаясь найти способ структурировать многомерный массив и мог бы использовать некоторую помощь.

Вот как это настраивается в версии php:

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

, а затем здесьВот как я устанавливаю значение позже

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

Вот что я попробовал в VBScript, который не работает

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

, а затем попытался установить значение

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

но я получаю очень полезную ошибку 500.

Есть идеи?

1 Ответ

1 голос
/ 29 марта 2012

Вам нужен словарь словарей:

  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")
...