我正在使用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帮助我解决我在哪里出轨。
答案 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;
}