如何在php中访问json数组?
我使用这个html和javascript将json数据发送到我的php文件。 如何在php中从那里访问它以回送给定的元素 大致如下:如何在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解码(
$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);