努力的咸鱼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 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助