时间:2010-07-26 09:54:54

标签: php jquery

6 个答案:

答案 0 :(得分:2)

您的问题是您正在使用PHP中的数组。

echo $ visitRecord-> getReferallist(); //返回引用数组。

当您通过回显将数组转换为字符串(因为echo输出字符串)时,您将获得文本“Array”。

为了通过网络发送(通过javascript通过AJAX($ .post)),您需要将引荐列表转换为字符串。一种方法是序列化。您可以使用 serialize ()函数将数组转换为“可串行格式”。 www.php.net/serialize。

当在AJAX请求中从PHP收到此消息时,您可以使用 unserialize ()函数将“可字符串格式化”数组转换回纯数组。 www.php.net/unserialize。

您的代码应该从

更改

<强> $ visitRecord-&GT; getReferallist();

<强>序列($ visitRecord-&GT; getReferallist());

然后,当收到它时,您应该从

更改您的代码

$ referrals = $ _POST ['referalList']; //数组的可串行版本

$ referrals = unserialize($ _ POST ['referalList']); //纯PHP数组

答案 1 :(得分:1)

答案 2 :(得分:1)

答案 3 :(得分:0)

答案 4 :(得分:0)

答案 5 :(得分:0)

我找到了解决这个问题的方法......

在javascript中使用此功能......

function js_array_to_php_array (a)
{
   var a_php = "";
   var total = 0;
   for (var key in a)
   {
      ++ total;
      a_php = a_php + "s:" +
            String(key).length + ":\"" + String(key) + "\";s:" +
            String(a[key]).length + ":\"" + String(a[key]) + "\";";
   }
   a_php = "a:" + total + ":{" + a_php + "}";

   return a_php;
}

a是您在此函数中传递的数组 然后..在你的php上你得到这个函数的返回数组写这段代码......

$my_array = unserialize(urldecode(stripslashes($_COOKIE['php_array'])));
// print_r ($my_array); 

希望它有所帮助...