我正在寻找一种方法,张贴在jQuery对象数组的对象到PHP文件,并解码它。
我试过了:
jQuerymyTab1[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
你有什么主意吗?
确保您正在使用count
上的东西是一个数组,通过您的代码似乎您正在计算json_decode
的结果,这是一个对象。在这里使用count将无法按预期工作。
注意,PHP作为count
的一个小问题是false
:如果你做count(false)
,它将返回"1",所以确保你是计数存在的东西,是一个数组。
同样,尝试使用第二个参数通过传递"true"来指定你想要的数组
$tab1 = json_decode($_POST['tab1'],true);
或者在解码
时将其转换为数组 $tab1 = (array)json_decode($_POST['tab1']);