如何将 json 转换为 php 数组并在其上使用 foreach?

How to convert json to php array and use foreach on it?

我已经构建了一个 Telegram 机器人并想回复发送到我的机器人的任何消息。我使用了 getUpdates 方法并收到了一个 JSON 对象。现在我想从中提取任何 chat_id 并使用 sendMessage 方法向它发送消息。 请帮助我如何为此使用 foreach。 下面是我的 JSON 对象:

{"ok":true,"result":[{"update_id":709393586, "message":{"message_id":60,"from":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"chat":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"date":1436038917,"text":"hi"}}]}'

抱歉初学者问题 ;) 我对编程还很陌生。

<?php
$response = json_decode(data(), true);
if ( !$response['ok'] ) {
    die('not ok');
}
else {
    foreach($response['result'] as $result) {
        echo $result['update_id'], ' ', $result['message']['chat']['id'], "\r\n";
    }
}


function data() {
    return '{"ok":true,"result":[{"update_id":709393586,
"message":{"message_id":60,"from":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"chat":{"id":123456789,"first_name":"Ameer","last_name":"Mousavi","username":"ameer_mousavi"},"date":1436038917,"text":"hi"}}]}';
}

打印

709393586 123456789

即update_id 和聊天元素的 id。

我找到了解决方案。这是代码:

`$obj = json_decode($result, true);
foreach ($obj["result"] as $key => $value) {
    $temp_chat_id =  $value["message"]["chat"]["id"];
    sendMessage($temp_chat_id, "Hi");
}`