Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как завернуть данные масства в php-массив

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
mstdmstd
Отправлено: 04 Октября, 2019 - 15:28:42
Post Id


Частый гость


Покинул форум
Сообщений всего: 170
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Всем привет
Получаю массив данных (20 элементов около 50 полей каждый )курлом
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => stdClass Object
  3.         (
  4.             [documentId] => 8lnAjG0B8Afq4kl6-fGi
  5.             [verified] =>
  6.             [commentsCount] => 433
  7.            

Нужно сделать демо-версию этих данных и завернуть эти данные в php-массив
Вручную это довольно долго ...
Вроде в есть спец функция для этого ?

Спасибо!
 
 Top
andrewkard
Отправлено: 04 Октября, 2019 - 16:01:46
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




PHP:
скопировать код в буфер обмена
  1. echo json_encode($data);
  2.  
  3. $json = ''; //вставим сюда то что вывела строка выше
  4.  
  5. $data = json_decode($json,1);

(Отредактировано автором: 04 Октября, 2019 - 16:02:50)

 
 Top
mstdmstd
Отправлено: 04 Октября, 2019 - 17:21:15
Post Id


Частый гость


Покинул форум
Сообщений всего: 170
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Я сделал :

PHP:
скопировать код в буфер обмена
  1.         $json = 'Array
  2. (
  3.    [0] => stdClass Object
  4.        (
  5.            [documentId] => 8lnAjG0B8Afq4kl6-fGi
  6.            [verified] =>
  7.            [commentsCount] => 433
  8.            [likesCount] => 53262
  9.            [edgeCount] => 12
  10.            ...
  11.            [TotalCount] => 945
  12.            [ListId] =>
  13.            [ListName] =>
  14.            [IsBusinessAccount] =>
  15.        )
  16.  
  17.    [19] => stdClass Object
  18.        (
  19.            [documentId] => BlXxbW0B8Afq4kl6Bf2t
  20.            [verified] =>
  21.            [commentsCount] => 26
  22.            [likesCount] => 1521
  23.            [edgeCount] => 12
  24.            ...
  25.            [TotalCount] => 369
  26.            [ListId] =>
  27.            [ListName] =>
  28.            [IsBusinessAccount] => 1
  29.        )
  30.  
  31. )';
  32.  

$data = json_decode($json,1);
echo $data;
и ничего не вывело . что неправильно?
 
 Top
Мелкий Супермодератор
Отправлено: 04 Октября, 2019 - 17:33:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




А что, вам прямо вот в таком вот, кхм, как бы корректно выразиться, виде - данные и приходят?


-----
PostgreSQL DBA
 
 Top
mstdmstd
Отправлено: 04 Октября, 2019 - 17:36:26
Post Id


Частый гость


Покинул форум
Сообщений всего: 170
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Я сократил - так они отображаются
А в чем подвох ?
 
 Top
Vladimir Kheifets
Отправлено: 04 Октября, 2019 - 19:57:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




mstdmstd пишет:
Я сделал :

PHP:
скопировать код в буфер обмена
  1.         $json = 'Array
  2. (
  3.    [0] => stdClass Object
  4.        (
  5.            [documentId] => 8lnAjG0B8Afq4kl6-fGi
  6.            [verified] =>
  7.            [commentsCount] => 433
  8.            [likesCount] => 53262
  9.            [edgeCount] => 12
  10.            ...
  11.            [TotalCount] => 945
  12.            [ListId] =>
  13.            [ListName] =>
  14.            [IsBusinessAccount] =>
  15.        )
  16.  
  17.    [19] => stdClass Object
  18.        (
  19.            [documentId] => BlXxbW0B8Afq4kl6Bf2t
  20.            [verified] =>
  21.            [commentsCount] => 26
  22.            [likesCount] => 1521
  23.            [edgeCount] => 12
  24.            ...
  25.            [TotalCount] => 369
  26.            [ListId] =>
  27.            [ListName] =>
  28.            [IsBusinessAccount] => 1
  29.        )
  30.  
  31. )';
  32.  

$data = json_decode($json,1);
echo $data;
и ничего не вывело . что неправильно?

Добрый день!
В json_decode возвращает объект, а в переменной $json д.б. строка в формате json.
Пример.
$json - получаю Response через curl
Спойлер (Отобразить)

json_decode возвращает массив
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 05 Октября, 2019 - 06:31:55)

 
 Top
Строитель Модератор
Отправлено: 04 Октября, 2019 - 20:09:47
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




mstdmstd пишет:
Вроде есть спец функция для этого ?
var_export() ?
 
 Top
Vladimir Kheifets
Отправлено: 05 Октября, 2019 - 15:28:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




mstdmstd пишет:
Всем привет
Получаю массив данных (20 элементов около 50 полей каждый )курлом
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => stdClass Object
  3.         (
  4.             [documentId] => 8lnAjG0B8Afq4kl6-fGi
  5.             [verified] =>
  6.             [commentsCount] => 433
  7.            

Нужно сделать демо-версию этих данных и завернуть эти данные в php-массив
Вручную это довольно долго ...
Вроде в есть спец функция для этого ?

Спасибо!

Добрый день!
Начнём с того, курлом(cURL) Вы не можете получить массив данных.
Если всё проходит успешно, то $result = curl_exec($ch) возврашает строку.
Вероятно, Вы через cURL отправляете запрос API и получаете ответ.
Для начала, нужно разобраться с тем, в каком формате данные, затем определить
какую функцию или класс PHP использовать для преобразования строки в объект.
Если формат данных JSON, то нужна функция json_decode,
ecли XML, то есть несколько, например, simplexml_load_String.
Объект, который Вы показали, видимо, результат функции json_decode.
Вам необходимо преобразовать этот объект в массив.
Допустим, что создан такой объект:
Спойлер (Отобразить)
Вам посоветовали воспользоваться функцией var_export
Спойлер (Отобразить)

Получается такой результ:
Спойлер (Отобразить)

Попробуйте сделать так:
Спойлер (Отобразить)

Результы здесь:
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 05 Октября, 2019 - 15:29:52)

 
 Top
LIME
Отправлено: 05 Октября, 2019 - 16:39:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Vladimir Kheifets пишет:
Допустим, что создан такой объект:
Vladimir Kheifets пишет:
Результы здесь:
а теперь наоборот и получится ответ на вопрос как его видит тс
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB