我正在向 PHP 脚本发送一些 JSON。我正在通过 jQuery ajax 调用来执行此操作。我认为我的 ajax 部分工作得很好。但这是我正在使用的代码:
var testjson = '{"statistics":[{"player_id":"12","team_id":"8","points":"19"},{"player_id":"9","team_id":"8","points":"7"}],"teams":[{"homename":"Lakers","awayname":"Heat","webid":"48","hid":"49","aid":"48"}]}';
function postGameStats() {
jQuery.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ajax-url.php",
data: {"data":JSON.stringify(testjson)},
success : function(data){
alert(data);
}
});
}
在我的 PHP 页面上,我想遍历解码后的 JSON 并将数据存储在我的数据库中。一旦我从数组中获取值,我就可以存储它们。但是我暂时无法将它们从阵列中取出!我似乎找不到我能理解的关于在 PHP 中访问多维数组的解释。到目前为止,这是我的 PHP:
$finally = json_decode($_POST['data'], true);
$size = count($finally[1]);
$i = 0;
while ($i < ($size)) {
echo $finally[$i].['statistics'].[$i].['player_id'];
$i = $i + 1;
}
任何人都可以指出如何访问数组中的值的正确方向吗?提前致谢!
最佳答案
好吧,当它由键(关联数组)而不是数字索引时,您无法访问这种数组,因此您需要使用foreach()
foreach($myarray as $key => $val){
echo $key." ".$val['innerkey'];
}
所以在你的情况下它会是这样的
foreach($finally['statistics'] as $key => $val){
echo $val[$key]['player'];
}
但是你当然可以使用 print_r()
你的数组,这样你就知道如何访问它了
print_r($finally);
http://php.net/manual/en/control-structures.foreach.php
关于php - 如何解析已从 JSON 解码的 PHP 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952478/