处理php页面中的javascript列表

时间:2012-08-07 13:42:10

标签: php javascript ajax

我正在使用ajax php我遇到了问题,即

我在ajax请求中传递了一个javascript列表

data: "user_names="+ user_names ; 

我在php页面上获取此列表

$participants_names = $_GET['user_names'];

我试图像

那样迭代该列表
   for ($i = 0; $i <= $participants_names; $i++) {
      print $i;
   }

但是我没有得到结果实际上我是来自python并且第一次触摸这个,所以plz帮助我解决我在哪里出轨。

5 个答案:

答案 0 :(得分:1)

$_GET['user_names']是一个字符串。你可以使用explode或split php函数使它成为一个数组。

如果user_names是以逗号分隔的名称列表:

$participants_names = explode( ',', $_GET['user_names']);

答案 1 :(得分:1)

我认为您不能简单地将列表作为参数传递,您应该将其序列化。 我建议你使用大多数浏览器都支持的JSON。

在JS中将其作为参数传递

"user_names="+JSON.stringify(user_names);

并在PHP中使用此

$participants_names = json_decode($_GET['user_names']);

答案 2 :(得分:0)

做一个......

var_dump($participants_names);

......以及它拥有的东西。我猜这有点像逗号分隔列表?

$list = explode(',', $participants_names); // Create an array named $list
for($i = 0; $i <= count($list); $i++) {
    echo $i;
}

答案 3 :(得分:0)

var usernames = ["A", "B", "C"]
data: "user_names="+ user_names.join(",") ; 
$participants_names = explode(",", $_GET['user_names']);

答案 4 :(得分:0)

尝试(假设您的用户名以分号分隔)

$arrayUsers = explode(";", $_GET['user_names']);  
foreach($arrayUsers as $user){
   echo $user;
}