All pastes #47407 Raw Edit

Mine

public javascript v1 · immutable
#47407 ·published 2006-03-29 05:07 UTC
rendered paste body
function php2js($data, $array_keys = array(), $level = 0, $isarray = false, $key_path = ""){  $reservedwords = array("if", "for", "class", "foreach", "in", "!xsi:nil");  $jsarray = $isarray ? '[ ' : '{ ';  $recs = array();  $array_str = "%s'%s'";  $value_str = "%s%s: '%s'";  $cur_key_path = $key_path;  $tabs = str_repeat("\t", $level);  if(is_array($data)) {    foreach($data as $key=>$value) {      $key_path = $cur_key_path . '/' . $key;      if(in_array($key, $reservedwords, true))        continue;      if(is_array($data[$key])) {        $recs[] =  ($isarray ? $tabs : $key . " : ") .          php2js($data[$key], $array_keys, $level + 1,            in_array($key_path, $array_keys), $key_path);      } else {        if($isarray) {          $recs[] = sprintf($array_str, $tabs, c($value));        } else {          $recs[] = sprintf($value_str, $tabs, $key, c($value));        }      }    }    $jsarray .=  "\n\t" . implode(",\n\t", $recs) . "\n";  }  $jsarray .= $tabs . ($isarray ? ']' : '}');  return $jsarray;}