努力的咸鱼0.0 2022-04-25 22:22 采纳率: 50%
浏览 47
已结题

php获取json值的问题

问题遇到的现象和发生背景

在解析json字符串的时候,明明获取到了值,但是传入关联数组的时候却是传的array数组

问题相关代码,
$json='{
    "code": 0,
    "msg": {
        "account": "5252",
        "data": [
            {
                "name": "小王",
                "endtime": ""
            },
            {
                "coursename": "小李",
                "endtime": ""
            },
            {
                "coursename": "小红",
                "endtime": ""
            }
        ],
        "password": "123",
        "school": "自动识别"
    },
    "school": "1"
}';
$data = json_decode($json,true);//将json转化为数组
$courseList = $data['msg']['data'];
//遍历二维数组
foreach($courseList as $key=>$arr_item){
        foreach($arr_item as $value){
          //命名json_data关联数组,传入获取到的键值对
            $json_data[] = [
                'name' => $value,
            ];
            echo $value;      //数组的值
            echo "<br>";
            
        }
    }
//遍历json_data数组
foreach($json_data as $x=>$x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

value = 小王
value= 小李
value= 小李

希望各位帮帮我,万分感谢!
  • 写回答

2条回答 默认 最新

  • 代码的灵魂是bug! 2022-04-26 10:40
    关注
    <?php
    $json='{
        "code": 0,
        "msg": {
            "account": "5252",
            "data": [
                {
                    "coursename": "小王",
                    "endtime": ""
                },
                {
                    "coursename": "小李",
                    "endtime": ""
                },
                {
                    "coursename": "小红",
                    "endtime": ""
                }
            ],
            "password": "123",
            "school": "自动识别"
        },
        "school": "1"
    }';
    $data = json_decode($json,true);//将json转化为数组
    $courseList = $data['msg']['data'];
    //遍历数组
    foreach($courseList as $key => $arr_item){
            //命名json_data关联数组,传入获取到的键值对
                $json_data[] = $arr_item['coursename'];
                echo $arr_item['coursename'];      //数组的值
                echo "<br>";
        }
    
    //遍历json_data数组
    foreach($json_data as $x=>$x_value)
    {
        echo "Key=" . $x . ", Value=" . $x_value;
        echo "<br>";
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月25日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么