1

我正在尝试通过 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;
 }

有人可以在这方面帮助我。

4

3 回答 3

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']将是一个数组

于 2013-01-17T10:12:26.883 回答
0

这完成了工作

data:{dat:arr}

在 jquery 和

$data=$_REQUEST['dat']

在 PHP 上

于 2013-01-17T10:35:34.513 回答
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)
}

来自 -PHP 手册

于 2013-01-17T10:13:30.600 回答