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
Форумы портала PHP.SU :: Версия для печати :: Вынуть данные JSON
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Вынуть данные JSON

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

1. Kyran29 - 31 Июля, 2016 - 21:42:47 - перейти к сообщению
Подскажите, пожалуйста!
Как вынуть данные, например, нужны данные - "NameGame" и "result"
Не понял
PHP:
скопировать код в буфер обмена
  1. ## делаем запрос
  2. /* ....................... */
  3. ## получаем ответ
  4. $data = json_decode($data);
  5. var_dump($data);


В ответе приходит вот такой массив: А?!
    object(stdClass)#1 (4) { ["Columns"]=> array(27) { [0]=> string(6) "idgame" [1]=> string(7) "sportId" [2]=> string(9) "sportName" [3]=> string(7) "champId" [4]=> string(9) "ChampName" [5]=> string(8) "NameGame" [6]=> string(6) "result" [7]=> string(9) "DateStart" [8]=> string(6) "finish" [9]=> string(5) "idTyp" [10]=> string(12) "count_stavki" [11]=> string(6) "Videos" [12]=> string(15) "idbetgames_main" [13]=> string(7) "gameVid" [14]=> string(7) "gameTyp" [15]=> string(6) "period" [16]=> string(4) "opp1" [17]=> string(4) "opp2" [18]=> string(3) "str" [19]=> string(16) "idTemplateTransl" [20]=> string(11) "ParamTransl" [21]=> string(11) "Trslt_Sport" [22]=> string(14) "Trslt_nameGame" [23]=> string(15) "Trslt_champName" [24]=> string(9) "Trslt_dop" [25]=> string(9) "Trslt_str" [26]=> string(12) "Trslt_result" } ["Data"]=> array(0) { } ["Error"]=> NULL ["Success"]=> bool(true) }
2. Fart - 31 Июля, 2016 - 22:18:34 - перейти к сообщению
$data->Columns->NameGame
3. Kyran29 - 31 Июля, 2016 - 22:46:24 - перейти к сообщению
Fart



ответ - Array, как теперь из массива достать NameGame
4. Fart - 31 Июля, 2016 - 22:51:05 - перейти к сообщению
$result->Columns->NameGame
или
$result->{'Columns'}->{'NameGame'}

PS ты вообще смысл ->{''}->{''} написанной схемы понимаешь для чего это делается?? в каких случаях??? или просто так написал???
5. Kyran29 - 31 Июля, 2016 - 23:01:24 - перейти к сообщению
Fart - http://php.net/manual/ru/functio....json-decode.php
6. Fart - 31 Июля, 2016 - 23:03:46 - перейти к сообщению
я читать тоже умеет, но вопрос остается прежний?? я просто сделал вывод, что ты не понимаешь как и почему делается это... к тому же есть примеры, которые на сайте не указаны!!!
7. Kyran29 - 31 Июля, 2016 - 23:09:31 - перейти к сообщению
Fart да блин я сюда и пришел потому что не понимаю вопрос как вытащить данные если знаешь объясни если нет то...
8. Fart - 31 Июля, 2016 - 23:23:11 - перейти к сообщению
формируется объект после json_decode. данные можно посмотреть в виде массива через var_dump.

если данные формируются стандарт текстом то ты пишешm так:

//{"a":"0"}
$obj->a
//выведет 0 после знака :

//{"abc":"0"}
$obj->abc
//выведет 0 после знака :

если данные формируются цифрами слова через дефис то следующим образом:
//{"abc-abc":"0"}
$obj->{"abc-abc"}
//выведет 0 после знака :

//{"0":"0"}
$obj->{"0"}
//выведет 0 после знака :

сложная структура
//{"0":{"1":"1"}}
$obj->{"0"}->{"1"}
//выведет 1 после знака :

сложная структура
//{"0":{"1":["1"]}}
$obj->{"0"}->{"1"}[0]
//выведет 1 после знака :
(Добавление)
далее попробуй сделать доступ к любым данным в твоем первом массиве используя пример. сложного ничего нет, главное внимательно смотри как пхп выдает результат

я вижу только результат если в твоем первом примере не получается подставить данные напрямую, то используется массив

примерно $data->Column->NameGame

здесь уже внимательно смотри.. но схема остается прежняя
9. Kyran29 - 31 Июля, 2016 - 23:28:19 - перейти к сообщению
Fart
как в моем случае вывести данные, как сформировать
10. Fart - 31 Июля, 2016 - 23:32:13 - перейти к сообщению
еще раз глянул попробуй
$data->Columns[0]->NameGame
или
$data->{'Columns'}[0]->{'NameGame'}

если конечно json у тебя прежний
(Добавление)
мне сейчас просто лень перепроверять твой массив, поэтому тебе общую схему написал
11. Kyran29 - 31 Июля, 2016 - 23:39:27 - перейти к сообщению
Fart в обоих случаях ни чего нет ни ошибки ни данных просто пусто
12. Fart - 31 Июля, 2016 - 23:49:58 - перейти к сообщению
раз не идет, я особо не всматривался, думаю если правильно увидел и проверил

$data->Columns[5] - NameGame
$data->Columns[6] - result
(Добавление)
так понимаю массив такой был

'{"Columns":[0,1,2,3,4,5,6...]}';
13. Kyran29 - 01 Августа, 2016 - 00:00:05 - перейти к сообщению
Fart

массив такой:
'{"Columns":["idgame", "sportId", "sportName", "champId", "champName", "nameGame", "result", "DateStart", "finish",…]}';
(Добавление)
Fart
если пишу так
$data->Columns[5];
то вижу это NameGame
14. Fart - 01 Августа, 2016 - 00:22:03 - перейти к сообщению
ок. надеюсь у тебя теперь проблем с json представлениями не будет. удачи!!!
15. Kyran29 - 01 Августа, 2016 - 00:32:31 - перейти к сообщению
Fart

проблема как раз осталось Однако

 

Powered by ExBB FM 1.0 RC1