0

我正在寻找一种将jQuery中的对象数组对象发布到PHP文件并对其进行解码的方法。

我试过的:

jQuery

myTab1[0] = {a: 2, b: 3};
myTab1[1] = {a: 1, b: 1};
myTab2[0] = {a: 42, b: 43};
myTab2[1] = {a: 15, b: 17};
var info = {id: 57,
            title: 'myTitle',
            tab1: JSON.stringify(myTab1),
            tab2: JSON.stringify(myTab2)
           };
$.post('save.php', info);

PHP

$tab1 = json_decode($_POST['tab1'])
echo count($tab1); // always 1, whatever myTab1

请问你有什么想法吗?

4

1 回答 1

3

确保您使用count的是数组,通过您的代码,您似乎正在计算json_decodewich 的结果是一个对象。使用 count there 将无法按预期工作。

请注意,PHP 作为一个小问题countfalse:如果你这样做count(false),它将返回“1”,所以请确保你正在计算一些存在并且是一个数组的东西。

另外,尝试使用第二个参数通过传递“true”来指定你想要的和数组

$tab1 = json_decode($_POST['tab1'],true);

或者在解码时将其转换为数组

$tab1 = (array)json_decode($_POST['tab1']);

于 2013-05-08T12:26:31.147 回答