gpt4 book ai didi

php - 通过 Ajax 在 Javascript 到 PHP 之间保留真正的 ARRAY OBJECT?

转载 作者:行者123 更新时间:2023-11-30 18:05:48 26 4
gpt4 key购买 nike

我想通过 Ajax 将 Javascript 数组对象发布到 PHP。然后在 PHP 结束时,我仍然想将该对象用作真正的数组。下面是我的方法,到目前为止在 PHP 端将传入对象用作 Array 方面仍然不成功。我可以将其解析为 string

Javascript:

var myObj = { 
fred: { apples: 2, oranges: 4, bananas: 7, melons: 0 },
mary: { apples: 0, oranges: 10, bananas: 0, melons: 0 },
sarah: { apples: 0, oranges: 0, bananas: 0, melons: 5 }
}

然后,Javascript/JQuery 通过 AJAX 发送:

$.ajax({
type: "POST",
url: "ajax.php",
dataType: "JSON",
data: { "data" : JSON.stringify(myObj) }
}).success(function( response ) {
alert(response);
});

然后在 PHP 中解析:

$data = json_decode( $_POST["data"] );
echo json_encode( $data["fred"] );
echo json_encode( $data["fred"]["apples"] );
echo json_encode( $data["fred"]->apples );
echo json_encode( $data[1] );
  • 以上任何一个 echo 返回空白,返回给浏览器。

但是当我:

$data = json_decode( $_POST["data"] );
$to_string = print_r( $data, true ); //<-- Used these instead
echo json_encode( $to_string ); //<-- Used these instead

.. 它将以下大字符串返回给浏​​览器:

stdClass Object
(
[fred] => stdClass Object
(
[apples] => 2
[oranges] => 4
[bananas] => 7
[melons] => 0
)

[mary] => stdClass Object
(
[apples] => 0
[oranges] => 10
[bananas] => 0
[melons] => 0
)

[sarah] => stdClass Object
(
[apples] => 0
[oranges] => 0
[bananas] => 0
[melons] => 5
)
)
  • 看起来数据在那里,但是我如何才能在 PHP 端以正确的 ARRAY 方式解析这些数据?

最佳答案

将第二个参数作为true传递,它将转换数组中的数据

$data = json_decode( $_POST["data"] , true);

关于php - 通过 Ajax 在 Javascript 到 PHP 之间保留真正的 ARRAY OBJECT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15832737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com