插入键=>;PHP中来自已提交Javascript对象的值对

插入键=>;PHP中来自已提交Javascript对象的值对,javascript,php,Javascript,Php,我正在试图弄清楚如何使用array\u unshift 这是我的密码 Javascript/AJAX var array= {}; array['name'] = name; array['lname'] = lname; $.ajax ({ type:"POST", url:"some.php", data: {array:array}, success: function(html) {} }); 然后PHP将通过POST接收数组 $array = $_post

我正在试图弄清楚如何使用
array\u unshift

这是我的密码

Javascript/AJAX

var array= {};
array['name'] = name;
array['lname'] = lname;

$.ajax ({ 
   type:"POST",
   url:"some.php",
   data: {array:array},
   success: function(html) {}
});
然后PHP将通过POST接收数组

$array = $_post['array'];

//add additional key=>value pair in the array
array_unshift($array, "['middle']=>test");
return $array;
我没有从中得到任何错误,我只是没有看到从函数中打印的值

打印结果:

Object {name: "John", lname: "Smith"}

编辑:输入错误

人物
重命名为
数组
类似

var array= {};
array['name'] = name;
array['lname'] = lname;

$.ajax ({ 
   type:"POST",
   url:"some.php",
   data: {array:array},
   success: function(html) {}
});
或者将
person
数组作为
array

data: {array:person},
编辑:。简单地尝试一下

$array['middle'] = 'test';

我认为你做得不对

不能通过PHP更改JavaScript数组(实际上是一个对象)。但是,您可以获取新数据并替换JavaScript对象

因为我需要一个对象,所以我最好使用JSON格式——因此使用
$.getJSON()
。注意,这是一个默认的GET请求

var url = 'file.php';
var obj = {
    name: name,
    lname: lname
};

$.getJSON(url, { data:obj }, function(data) {
    // replace object with new content
    obj = data;
    console.log(obj);
});
至于你的PHP代码:

// get data (remember we're using a GET request)
$data = $_GET['data'];

// add an index
$data['middle'] = 'test';

// echo data in JSON format
echo json_encode($data);

您好,对不起,这是一个输入错误。我的意思是
array['name']
,但我仍然没有看到这部分
array\u unshift($array,['middle']=>test”)正在添加。它对我不起作用。我只是得到了同样的结果。而且,它应该是
$array=$\u POST['array']
而不是
$array=$\u post['array']
// get data (remember we're using a GET request)
$data = $_GET['data'];

// add an index
$data['middle'] = 'test';

// echo data in JSON format
echo json_encode($data);