【发布时间】:2011-09-22 23:08:32
【问题描述】:
我尝试了几种不同的 json 方法(stringify、toJSON,可能还有一些完全不相关的其他方法),但似乎无法弄清楚如何将其字符串化,因此我可以将其传递给 php 脚本。我能够创建一个二维数组,可以这样表示:
array(
'image'=>array(
0=>'hello.jpeg',
1=>'goodbye.jpeg',
2=>'etc.jpeg'),
'resume'=>array(
0=>'resume.doc'),
'reel'=>array(
0=>'reel.mov')
)
当我使用dump 函数将其打印到控制台时,该数组看起来还不错。我试图弄清楚如何让它与对象一起使用,因为我认为我读到了一些说对象已经对 JSON 友好的东西,但是由于我对 javascript 不是很熟悉,所以我非常困惑。
编辑:更多细节......我的数组的声明(当我让它工作时)是这样的,虽然我可能搞砸了:
var fileArray = [];
fileArray['image'] = [];
fileArray['resume'] = [];
fileArray['reel'] = [];
var type;
var name;
var divs = $("#upload-container").children('div');
$.each(divs, function() {
type = $(this).attr('id');
name = $(this).html();
fileArray[type].push(name);
});
【问题讨论】:
-
你确定你的意思是外部结构是一个数组吗?
-
我想是的。如果 var 被命名为 fileArray,那么每个元素将类似于 fileArray['image'][0], fileArray['image'][1], fileArray['image'][2], fileArray['resume'] [0] 和 fileArray['reel'][0].
-
我问是因为通常我们会为此使用对象,而不是数组。
-
是的,部分问题在于声明对象并混淆了语法。相当于我想在 php 中做的事情是这样的: foreach($unimportant as $key => $var) { fileArray[$key][] = $var; },其中在“关键”分支下分类有多个“变量”。
-
但是... JavaScript 不是 PHP。
标签: php javascript jquery arrays json