我试图通过Ajax将关联数组传递给php,如下所示
var arr={'a':1,'b':2,'c':3};
$.ajax({
type:'POST',
url:'data.php',
data:arr,
});
在php中我想循环遍历数组的所有元素,如下所示
$data=$_POST;
foreach($data as $k=>$v)
{
echo $k.'='.$v;
}
有人可以在这方面帮助我。
答案 0 :(得分:0)
你可以通过
来做到这一点var newarr = JSON.stringify(arr);
$.ajax({
type:'POST',
url:'data.php',
data:{dat:newarr} ,
});
并在php中
$data = json_decode($_POST['dat']);
foreach($data as $a){
echo $a;
}
您也可以使用serializeArray()
$.ajax({
type:'POST',
url:'data.php',
data:{dat: $(arr).serializeArray()} ,
});
然后$_POST['data']
将是一个数组
答案 1 :(得分:0)
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
以上示例将输出:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
答案 2 :(得分:0)
这完成了工作
data:{dat:arr}
$data=$_REQUEST['dat']
在php上