php foreach嵌套循环检索所有记录

Kar*_* RK 0 php arrays foreach json nested

$json_string = '{
   "response_code": 200,
   "info": {
      "days": [
         {
            "code": "A",
            "runs": "111"
         },
         {
            "code": "B",
            "runs": "222"
         },
         {
            "code": "C",
            "runs": "333"
         }
      ],
      "name": "SUPER MARIO",
      "number": "010203",
      "classes": [
         {
            "points": "6523",
            "name": "ABC",
            "available": "N"
         },
         {
            "points": "4253",
            "name": "XYZ",
            "available": "N"
         },
         {
            "points": "2323",
            "name": "JOHN",
            "available": "N"
         },
         {
            "points": "5236",
            "name": "TAMIL",
            "available": "N"
         }
      ]
   }
}';

$jsondata = $json_string;
$arr = json_decode($jsondata, true);

foreach($arr as $k=>$v)
{
    echo $k."<br>";
}  
Run Code Online (Sandbox Code Playgroud)

它打印

response_code
信息

但是,我需要这样的结果

6523 ABC
4253 XYZ
2323 JOHN
5326 TAMIL

我已尝试使用以下代码实现上述结果.但是,我想用foreach循环来做.如何使用foreach列出所有信息?

echo "".$arr['info']['classes'][0]['points']." ".$arr['info']['classes'][0]['name']."<br/>";
echo "".$arr['info']['classes'][1]['points']." ".$arr['info']['classes'][1]['name']."<br/>";
echo "".$arr['info']['classes'][2]['points']." ".$arr['info']['classes'][2]['name']."<br/>";
echo "".$arr['info']['classes'][3]['points']." ".$arr['info']['classes'][3]['name']."<br/>";
Run Code Online (Sandbox Code Playgroud)

小智 6

你应该预先获得数组密钥

foreach($arr['info']['classes'] as $k=>$v)
{
   echo $v['points']." " . $v['name']."<br>";
}  
Run Code Online (Sandbox Code Playgroud)