", "&"), array('\r', '\n', '\x3c', '\x3e', '\x26'), addslashes($var)) .'"'; case 'array': // Arrays in JSON can't be associative. If the array is empty or if it // has sequential whole number keys starting with 0, it's not associative // so we can go ahead and convert it as an array. if (empty ($var) || array_keys($var) === range(0, sizeof($var) - 1)) { $output = array(); foreach ($var as $v) { $output[] = drupal_to_js($v); } return '[ '. implode(', ', $output) .' ]'; } // Otherwise, fall through to convert the array as an object. case 'object': $output = array(); foreach ($var as $k => $v) { $output[] = drupal_to_js(strval($k)) .': '. drupal_to_js($v); } return '{ '. implode(', ', $output) .' }'; default: return 'null'; } } if($_GET['y'] == 'TRUE') { $a = array(); switch($_GET['x']) { case 'one': $a['a'] = 'A'; $a['b'] = 'B'; $a['c'] = 'C'; break; case 'two': $a['four'] = '4'; $a['five'] = '5'; $a['six'] = '6'; } exit(drupal_to_js($a)); } ?>