php - 如何解析已从 JSON 解码的 PHP 数组?

标签 php jquery ajax json loops

我正在向 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

http://php.net/manual/en/function.print-r.php

http://php.net/manual/en/language.types.array.php

关于php - 如何解析已从 JSON 解码的 PHP 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952478/

相关文章:

php - fatal error : Class 'MySQLi' not found on windows

javascript - 单击按钮时的 Jquery 切换 div - 不切换

javascript - Sweet Alert - 没有确认按钮的 Ajax 调用

ajax - 通过Ajax调用通过Web方法从C#下载文件?

php - 操纵数据库中的条目在我的网页上显示方式的最佳方式是什么?

php - 如何在不使用 foreach 的情况下循环多维数组

javascript - 将函数应用于某些属性值

javascript - 在匿名函数中设置全局变量

javascript - jQuery .active HTML 展示

javascript - 访问控制允许来源 - 不工作