douping4436 2018-05-29 09:54
浏览 56
已采纳

循环通过json数据

I have a a script that generate JSON-data with this struture. Im trying to loop out this is a HTML list with PHP but now getting it right.

This is the structure of the JSON:

{
  "msg": [
    "msg text 1",
    "msg text 2",
    "msg text 3",
    "msg text 4",
    "msg text 5",
    "msg text 6"
  ]
}

My PHP code looks like this:

$json = file_get_contents('my_json_file');
$results = json_decode($json);
$array = (array)$results;

foreach ($array as $key => $item){
        echo "Key: ".$key." Item: ".$item;
}

Output of this code is:

Key: msg Item: Array

Anyone who knows what i have to edit in order to get this right?

  • 写回答

2条回答 默认 最新

  • doudeng9425 2018-05-29 10:01
    关注

    You have to do the foreach on array['msg'] to get all the msg items. otherwise you will loop over all the properties of the main array (in this case there is only msg)

    $json = file_get_contents('my_json_file');
    $results = json_decode($json);
    $array = (array)$results;
    
    foreach ($array['msg'] as $item){
            echo "Key: msg Item: ".$item;
    }
    

    The output will be :

    Key: msg Item: msg text 1 
    Key: msg Item: msg text 2
    ...
    

    If you still want to loop over the main array and want to print the content of msg, you have to use print_r to print the content of the array

    $json = file_get_contents('my_json_file');
    $results = json_decode($json);
    $array = (array)$results;
    
    foreach ($array as $key => $item){
        echo "Key: ".$key." Item: ".print_r($item, true);
    }
    

    The output will be :

    Key: msg Item: array [
        "msg text 1",
        "msg text 2",
        ...
    ]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?