如何在php中访问json数组?

如何在php中访问json数组?,php,javascript,html,arrays,json,Php,Javascript,Html,Arrays,Json,我使用这个html和javascript将json数据发送到我的php文件。 如何在php中从那里访问它以回送给定的元素 大致如下: $value = json_decode($_POST["newOrder"]) echo $value[1]; 等 我不确定如何从中检索数据。尝试以下方法: $value = json_decode($_POST["newOrder"], true) echo "<pre>"; print_r($value); $value=json\u解码(

我使用这个html和javascript将json数据发送到我的php文件。

如何在php中从那里访问它以回送给定的元素

大致如下:

$value = json_decode($_POST["newOrder"])
echo $value[1];

我不确定如何从中检索数据。

尝试以下方法:

$value = json_decode($_POST["newOrder"], true)
echo "<pre>";
print_r($value);
$value=json\u解码($\u POST[“newOrder”],true)
回声“;
打印(价值);
请注意第二个参数
true
,它将输出为数组,否则它将是对象。

查看php手册

返回一个对象作为默认值。使用第二个参数true返回数组

$json = json_decode($data,true); 
$json["sub-values"]["sub thing"];

要像我想的那样在PHP中使用json,我建议您在json_decode函数中输入一个true

这将为您提供以下信息:

$.ajax({
    url: "<url_to_php_file>",
    type: "POST",
    data: { order: JSON.stringify(dataArr) }
});

为什么要将JSON作为POST请求的主体发送?简单一点:

$value = json_decode($_POST["order"]);
echo $value[1];

下面是一个JSFIDLE,以了解在您仍然迷路的情况下javascript应该如何:

这是您通过php解码的数据:

 $order_0=$value->order[0];
 $order_1=$value->order[1];
要访问它,它将是:示例:

 $order_0=$value['order'][0];
 $order_1=$value['order'][1];
或者使用true进行json_解码,结果会变成这样

$FP=fopen(JSON_DIR."JsonArray.txt",'r');
$J_ARRAY=fread($FP,filesize(JSON_DIR."JsonArray.txt"));
$J_ARRAY=json_decode($J_ARRAY,JSON_FORCE_OBJECT);

默认情况下,Json_decode将返回结果作为对象,要获取数组,需要将第二个参数设置为true

$data=json_decode($_POST[“newOrder”],false);将结果作为对象返回

用于打印对象

echo$data->something

$data=json_decode($_POST[“newOrder”],true);以数组形式返回结果

用于打印阵列


echo$data['something']

试试这个,可能会有帮助


我试过$value=json\u解码($\u POST[“newOrder”],true);echo$order_0=$value['order'][0];它没有任何输出,这段代码有问题还是其他地方有问题?您不能回显$order_0=$value['order'][0];它应该是两行:$order_0=$value['order'][0];echo$order_0;我仍然没有收到任何输出。我的代码在这里->并托管在php服务器->上。我只是想能够回显所选元素及其位置,即位置1中的2或其他位置。所以我知道我可以将它们存储在数据库中等。你能更新你的问题来告诉我们你到底在做什么吗?我不明白,你的php现在怎么样了?我的代码在这里->jsbin.com/igewiv/1/edit,托管在php服务器->top50.zxq.net/fiddle.php上。我只是想能够回显所选元素及其位置,即位置1中的2或其他位置。所以我知道我可以将它们存储在数据库中。
 $order_0=$value['order'][0];
 $order_1=$value['order'][1];
$FP=fopen(JSON_DIR."JsonArray.txt",'r');
$J_ARRAY=fread($FP,filesize(JSON_DIR."JsonArray.txt"));
$J_ARRAY=json_decode($J_ARRAY,JSON_FORCE_OBJECT);