我正在以这种方式在 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"
最佳答案
属性值是字符串。当您将数组转换为字符串时,您将该数组中的每个元素都转换为字符串并以逗号分隔(除非您覆盖 toString()
方法(提示:不要))。
我建议将数组转换为 JSON,然后将其分配给表单控件。然后,您可以在 PHP 中解析 JSON。
http://json.org具有指向 JSON 序列化器/反序列化器的 PHP 和 JS 实现的链接(在底部)。
关于php - 将数组从 javascript 发送到 php 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869514/