循环通过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?

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",
    ...
]

use this example code.

    $json = '{
        "msg": [
        "msg text 1",
        "msg text 2",
        "msg text 3",
        "msg text 4",
        "msg text 5",
        "msg text 6"
    ]}';

    $results = json_decode($json);
    $array = $results->msg;
    foreach ($array as $key => $item){
        echo "Key: ".$key." Item: ".$item;
    }