【发布时间】:2011-02-02 00:20:23
【问题描述】:
我正在以这种方式在 jquery 端创建一个数组。该数组是一个数组数组,其中每个元素都是一个类似于[jskey, jsvalue] 的数组。
var jsarray = [];
// jsarray.push([jskey, jsvalue]);
jsarray.push([1, 123]);
jsarray.push([2, 98]);
jsarray.push([3, 107]);
jsarray.push([4, 34]);
然后我在提交之前将数组添加到表单的元素中
$('#myform input[name=jsvalues]').val(jsarray);
在 php 方面,我希望收到一个数组数组,但是当我执行 print_r() 或 var_dump() 时得到的只是一个看起来像这样的字符串
string() "1,123,2,98,3,107,4,34"
【问题讨论】:
-
您仍在使用 HTTP。您的表单输入只能包含一些文本字符串,不能包含任意结构化的对象。 JavaScript 或 jQuery 足以尝试以某种方式将该数组序列化为一串文本,它可能只是对你大喊大叫。考虑对数组进行 JSON 编码并在 PHP 中对其进行解码,或者直接按原样使用它,因为您可以使用一两行 PHP 代码轻松将该字符串转换回数组。
标签: php javascript jquery arrays