Try this way:
<?php
$name = empty($_GET['name']) ? false : $_GET['name'];
$files = empty($_GET['files']) ? false : $_GET['files'];
if ($name)
{
$files_arr = explode(',', $files);
foreach ($files_arr as $value)
{
$file_arr[] = array(
'text' => $value,
'leaf' => true,
'icon' => 'images/xml.png'
);
}
}
$var = json_encode($file_arr);
echo $var;
Test:
http://localhost/test.php?name=test&files=google,yahoo
Give us:
'[{"text":"google","leaf":true,"icon":"images\\/xml.png"},{"text":" yahoo","leaf":true,"icon":"images\\/xml.png"}]'
And to output do it like this:
root:
{
expanded: false,
children: <?php echo $var; ?>
}
ie: remove [' and '], json_encode takes care of all needed to properly format javascript code.