假设我有一个数组(从我的php代码动态生成)
array (size=4)
0 =>
array (size=1)
'Sat' => string '6' (length=1)
1 =>
array (size=1)
'Sun' => string '10' (length=2)
我希望得到以下内容以将其置于javascript变量
中 {
"x": 'Sat',
"y": 6
}{
"x": 'Sun',
"y": 10
}
我怎样才能做到这一点?
答案 0 :(得分:3)
您可以使用json_encode(),并将其传递给javascript变量,如:
$json = json_encode($your_array);
和js:
var json_frm_php = <?php echo $json; ?>
答案 1 :(得分:2)
你可以使用&#39; json_encode&#39;直接在smarty中,或者只是分配一个json_encode()&#39; ed变量...
e.g。
// in your PHP script :
$myArray = array(
array("x" => "Sat", "y" => "6",),
array("x" => "Sun", "y" => "10",),
);
$smarty->assign('jsondata', json_encode($myArray));
$smarty->assign('rawdata', $myArray);
$smarty->display('template.tpl');
然后在模板中:
<script>
var data1 = {$jsondata};
var data2 = {$rawdata|@json_encode};
....
</script>
将呈现如下:
<script>
var data1 = [{"x":"Sat","y":"6"},{"x":"Sun","y":"10"}];
var data2 = [{"x":"Sat","y":"6"},{"x":"Sun","y":"10"}];
...
</script>
答案 2 :(得分:1)
这有帮助吗?
$myArray = array(
array(
"x" => "Sat",
"y" => "6",
),
array(
"x" => "Sun",
"y" => "10",
)
);
$json = json_encode($myArray);
print_r($json);
输出:[{“x”:“星期六”,“y”:“6”},{“x”:“太阳”,“y”:“10”}]
答案 3 :(得分:1)
我想你想要输入一个javascript变量
{
"x": 'Sat',
"y": 6
},{
"x": 'Sun',
"y": 10
}
因此您必须首先将变量$jsonArray=json_encode($Array)
包装在PHP代码中,然后
{literal}
<script>
var json = JSON.parse('{/literal}{$campaign->getStatsMembers()}{literal}'),final=[],final=[];
for(var key1 in json){
for(var key2 in json[key1]){
var tmp={"x":key2,"y":json[key1][key2]};
final.push(tmp);
}
}
console.log(final);
</script>
{/literal}
顺便说一下,我曾经jQuery
,或许有一种更方便的方式来循环你的json
变量!