Задать вопрос
@sosis04ka
Веб-программист

Как вывести определенные данные в массиве json?

Есть приложение работающая с инстаграмом без api, там в поиске через curl берутся данные с поиска инстаграмма
вот данные
5addb66be3539303282429.jpeg
Код curl:
public function fetchData($url){
        try {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            curl_setopt($ch, CURLOPT_TIMEOUT, 20);
            $result = json_decode(curl_exec($ch), true);
            curl_close($ch);
            return $result;
        } catch(Exception $e) {
            return $e->getMessage();
        }
    }

Код поиска:
public function getSearchProfiles($ignore=null) {
        $url = 'https://www.instagram.com/web/search/topsearch/?context=blended&query='.str_replace(' ', '.', $this->query).'&rank_token=';
        $result = $this->fetchData($url);
        $this->data['profiles'] = $result;        

        if($ignore != null) {
            foreach($this->data['profiles'] as $subKey => $subArray){
                if($subArray['username'] == $ignore){
                    unset($this->data['profiles'][$subKey]);
                }
            }
        }
    }

Но при выводе данных выходит такая ошибка Warning: Illegal string offset. Что делать?
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Yan-s
Все правильно вам пишет, если в $this->data['profiles'] то, что у вас на скриншоте, то нет в этом массиве ключа "username". Там несколько вложенных массивов и чтобы добрать до "username" надо перебрать их все.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽