Я могу извлечь идентификатор пользователя из ответа JSON, я получаю ответ от API бота telegram, но я не могу извлечь file_id.
вот мой код:
<?php
$response='{"ok":true,"result":[{"update_id":514191839,"message":{"message_id":898,"from":{"id":100000000,"first_name":"Nnn","username":"myid"},"chat":{"id":101150186,"first_name":"Nnn","username":"myid","type":"private"},"date":1487570256,"photo":[{"file_id":"AgADBAAD4KcxG9qfWFEqGZHRzv1IReOGnhkABOym5qINB41gwLIBAAEC","file_size":480,"width":90,"height":44},{"file_id":"AgADBAAD4KcxG9qfWFEqGZHRzv1IReOGnhkABCkXQqPZCWHswbIBAAEC","file_size":2694,"width":273,"height":132}]}}]}';
$arrayUpdate= json_decode($response, true);
foreach ($arrayUpdate['result'] as $key) {
echo "user id is:".$key['message']['from']['id']."<br />";
echo "photo file id is:".$key['photo']['file_id'];
}
?>
Поле photo
это массив элементов. Так, например, если вы хотите извлечь первый, вы должны использовать:
echo "photo file id is:".$key['message']['photo'][0]['file_id'];
foreach ($arrayUpdate['result'] as $key) {
echo "user id is:" . $key['message']['from']['id'] . "<br />";
foreach ($key['message']['photo'] as $photo) {
echo "photo file id is:" . $photo['file_id'] . "<br />";
}
}
Попробуй это :
<?php
$response='{"ok":true,"result":[{"update_id":514191839,"message":{"message_id":898,"from":{"id":100000000,"first_name":"Nnn","username":"myid"},"chat":{"id":101150186,"first_name":"Nnn","username":"myid","type":"private"},"date":1487570256,"photo":[{"file_id":"AgADBAAD4KcxG9qfWFEqGZHRzv1IReOGnhkABOym5qINB41gwLIBAAEC","file_size":480,"width":90,"height":44},{"file_id":"AgADBAAD4KcxG9qfWFEqGZHRzv1IReOGnhkABCkXQqPZCWHswbIBAAEC","file_size":2694,"width":273,"height":132}]}}]}';
$arrayUpdate= json_decode($response, true);
foreach ($arrayUpdate['result'] as $key) {
echo "user id is:".$key['message']['from']['id']."<br />";
foreach ($key['message']['photo'] as $photo) {
echo "photo file id is:".$photo['file_id'];
}
}
?>