<?php 
// PHPº¯¼ö ½ºÅ©¸³Æ®¿¡¼­ ½±°Ô »ç¿ëÇÏ±â 
function setScriptVar($name, $obj) { 
global $script; 
$script = "<script language='javascript'>"; 

if(is_object($obj)) { 
$script .= "var $name = new Array();"; 
factory($name, $obj,'object'); 
} elseif(is_array($obj)) { 
$script .= "var $name = new Array();"; 
factory($name, $obj,'array'); 
} else { 
if(is_numeric($obj)) $script .= "var $name = $obj;"; 
else $script .= "var $name = '$obj';"; 
} 
$script .= "</script>"; 
echo $script; 
} 

function factory($name, $data, $type = NULL) { 
global $script; 
foreach($data as $key => $val) { 
if(is_object($val)){ 
factory($name.".".$key, $val, 'object'); 
} elseif(is_array($val)){ 
if($type == 'array') { 
$script .= $name."[".$key."] = new Array();"; 
factory($name."[".$key."]", $val, 'array'); 
} else { 
$script .= $name.".".$key." = new Array();"; 
factory($name.".".$key, $val, 'array'); 
} 
} elseif(preg_match("/[a-zA-Z_][a-zA-Z0-9_]*/",$key) && $type == 'object') { 
if(is_numeric($val)) $script .= $name.".".$key."=".$val.";"; 
else $script .= $name.".".$key."='".$val."';"; 
} elseif($type == 'array') { 
if(!is_numeric($key)) $key = "'".$key."'"; 
if(is_numeric($val)) $script .= $name."[".$key."]=".$val.";"; 
else $script .= $name."[".$key."]='".$val."';"; 
} 
} 
} 

// »ç¿ë¹ý setScriptVar(º¯¼ö¸íÁöÁ¤,PHPº¯¼ö); 

// ÀÏ¹Ýº¯¼ö 
$market = "I Like Fruit!"; 
setScriptVar("market", $market); 

// ¹è¿­ 
$fruit = array('Apple','Pineapple',array('Tomato','Banana')); 
setScriptVar("fruit", $fruit); 

// ¿ÀºêÁ§Æ®¿Í ¹è¿­ 
$list->like = 'Pineapple'; 
$list->hate = 'Tomato'; 
$list->buy = array('Apple','Pineapple'); 
setScriptVar("list", $list); 

// º¯¼öÅ¸ÀÔ 
$num = array(100,'200'); 
setScriptVar("num",$num); 
?> 

<script> 
//alert(market); // I Like Fruit! 
//alert(fruit[0]+"/"+fruit[2][0]); // Apple/Tomato 
//alert(list.like+"/"+list.buy[0]); // Pineapple/Apple 
//alert(num[0] + 10); // 110 
//alert(num[1] + 10); // 20010 
</script> 
