给定PHP数组:
$forColumnsArr['p_pl'] = array('datatype_names' => array('publisher', 'placement', 'placement_groups'), 'labels' => 'All Placements');
$forColumnsArr['a_st'] = array('datatype_names' => array('advertiser', 'campaign', 'strategy'), 'labels' => 'All Campaigns, All Strategies');
想要类似/等效的javascript数组
请帮帮我
答案 0 :(得分:1)
表示为对象:
var forColumnsArr = {
p_pl : {
datatype_names : {
0: 'publisher',
1: 'placement',
2: 'placement_groups'
},
labels : 'All Placements'
},
a_st : {
datatype_names : {
0: 'advertiser',
1: 'campaign',
2: 'strategy'
},
labels : 'All Campaigns, All Strategies'
}
}
// console.log(forColumnsArr.p_pl.datatype_names[0]); // publisher
// console.log(forColumnsArr.p_pl.datatype_names[1]); // placement
// console.log(forColumnsArr.p_pl.datatype_names[2]); // placement_groups
答案 1 :(得分:1)
我个人更喜欢使用JS objects
,你可以参考Mihai的答案。但是,既然你要求数组,那么就去吧,
var forColumnsArr['p_pl'] = new Array();
forColumnsArr['p_pl']['datatype_names'][0] = 'publisher';
forColumnsArr['p_pl']['datatype_names'][1] = 'placement';
forColumnsArr['p_pl']['datatype_names'][2] = 'placement_groups';
forColumnsArr['p_pl']['labels'] = 'All Placements';
同样,对于forColumnsArr['a_st']
,这里是manual
答案 2 :(得分:0)
您可以使用json_encode
从PHP生成JavaScript数组答案 3 :(得分:0)
不要使用数组,请使用Object。 (好吧,JS中的数组是一个对象,但现在不能去那里。)
$forColumnsArr['p_pl'] = array('datatype_names' => array('publisher', 'placement', 'placement_groups'), 'labels' => 'All Placements');
var forColumnsArr = {
'datatype_names': ['publisher', 'placement', 'placement_groups'],
'labels' : 'All Placements'
};
这称为“对象文字符号”。
同时查找JSON,这是一个很好的节省时间。
答案 4 :(得分:0)
var p_pl = {
datatype_names: ['publisher', 'placement', 'placement_groups'],
labels: 'All Placements'
};
var a_st = {
datatype_names: ['advertiser', 'campaign', 'strategy'],
labels: 'All Campaigns, All Strategies'
};
从php分配它们
<?php
$p_pl = json_encode($forColumnsArr['p_pl']);
$a_st = json_encode($forColumnsArr['a_st']);
?>
var p_pl = eval('(' + '<?php echo $p_pl; ?>' + ')');
var a_st = eval('(' + '<?php echo $a_st; ?>' + ')');
答案 5 :(得分:0)
var forColumnsArr = {
p_pl: {
datatype_names: {
0:'publisher',
1: 'placement',
2: 'placement_groups'
},
labels: 'All Placements'
},
a_st: {
datatype_names: {
0: 'advertiser',
1: 'campaign',
2: 'strategy'
},
labels: 'All Campaigns, All Strategies'
}
};
答案 6 :(得分:0)
使用object-array-literals:
var forColumnsArr = {
p_pl: {
datatype_names : [
'publisher',
'placement',
'placement_groups'
],
labels : 'All Placements'
},
a_st: {
datatype_names: [
'advertiser',
'campaign',
'strategy'
],
labels: 'All Campaigns, All Strategies'
}
};
这些对象的Accessing the properties就像在PHP中一样,使用括号或点表示法。
您可以通过调用PHP对象上的json_encode
function轻松生成此JSON标记。
答案 7 :(得分:0)
var object = {
'datatype_names' : {
'publisher':'Value',
'placement':'Value',
'placement_groups':'Value'
},
'labels' : 'All Placements'
}
console.log(object);