Использование системы в различных ситуациях, вопросы программирования сценариев.
Модератор: immortal
-
skysilver
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
-
Благодарил (а):
400 раз
-
Поблагодарили:
1750 раз
-
Контактная информация:
Сообщение
skysilver » Пт мар 22, 2019 11:59 am
Svetлая писал(а): ↑Пт мар 22, 2019 11:49 am
Правильно?
Почти. PHP_EOL не нужен при записи в свойство, это перенос на новую строку, чтобы при отладке красиво выводилось на странице, а не в кучу.
- За это сообщение автора skysilver поблагодарил:
- Svetлая (Пт мар 22, 2019 12:53 pm)
-
Svetлая
- Сообщения: 233
- Зарегистрирован: Вс май 06, 2018 11:36 pm
-
Благодарил (а):
78 раз
-
Поблагодарили:
75 раз
-
Контактная информация:
Сообщение
Svetлая » Пт мар 22, 2019 12:53 pm
Проверила, всё работает)).
Спасибо))
-
odinvolk
- Сообщения: 49
- Зарегистрирован: Ср май 31, 2017 3:06 am
- Откуда: odinwolk@gmail.com
-
Благодарил (а):
179 раз
-
Поблагодарили:
17 раз
Сообщение
odinvolk » Ср май 17, 2023 2:01 pm
квадратные скобки это массив
получантся что это массив в массиве
разбирается примерно так
Код: Выделить всё
$array = array(
'0' => array(
'r030' => '978',
'txt' => 'Євро',
'rate' => '39,8104',
'cc' => 'EUR',
'exchangedate' => '17.05.2023'
)
);
Код: Выделить всё
$data_exchange = file_get_contents("https://bank.gov.ua/NBUStatService/v1/s ... e=EUR&json");
$json = json_decode($data_exchange, true);
$r030 = $json['r030'][0]['0']; // вот нулевой параметр в нулевом массиве
$txt = $json['txt'][0]['1'];
$rate = $json['rate'][0]['2'];
$cc = $json['cc'][0]['3'];
$exchangedate = $json['exchangedate'][0]['4'];
setGlobal('Exchange.txt', $r030); // и так далее
Последний раз редактировалось
odinvolk Чт май 18, 2023 11:54 am, всего редактировалось 1 раз.
- За это сообщение автора odinvolk поблагодарил:
- KVN (Ср май 17, 2023 4:26 pm)
-
KVN
- Сообщения: 88
- Зарегистрирован: Ср ноя 14, 2018 12:27 pm
- Откуда: UA
-
Благодарил (а):
25 раз
-
Поблагодарили:
3 раза
Сообщение
KVN » Ср май 17, 2023 3:07 pm
Спасибо за помощь, но пока не получается ...
1. значения свойств все равно пустые
2. разбор json помечает красным &json в конце и пишет что Ничего не найдено
Мой
CONNECT
Ubuntu Linux 16.04.5 LTS, Источник обновлений ядра: Мастер
Acer Aspire One D270
-
KVN
- Сообщения: 88
- Зарегистрирован: Ср ноя 14, 2018 12:27 pm
- Откуда: UA
-
Благодарил (а):
25 раз
-
Поблагодарили:
3 раза
Сообщение
KVN » Ср май 17, 2023 4:30 pm
Всем спасибо за помощь, разобрался!
Вот решение:
$query = "https://bank.gov.ua/NBUStatService/v1/s ... e=EUR&json";
$data = getURL($query);
$json = json_decode($data,true);
$r030 = $json['0']['r030'];
$txt = $json['0']['txt'];
$rate = $json['0']['rate'];
$cc = $json['0']['cc'];
$exchangedate = $json['0']['exchangedate'];
setGlobal('Exchange.rate', $rate);
setGlobal('Exchange.txt', $txt);
setGlobal('Exchange.cc', $cc);
setGlobal('Exchange.exchangedate', $exchangedate);
и вот иностранный товарищ очень помог
https://www.youtube.com/watch?v=a86VTVrvXd8
Мой
CONNECT
Ubuntu Linux 16.04.5 LTS, Источник обновлений ядра: Мастер
Acer Aspire One D270
-
Logrus
- Сообщения: 1960
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
-
Благодарил (а):
306 раз
-
Поблагодарили:
423 раза
Сообщение
Logrus » Ср май 17, 2023 7:21 pm
промежуточные переменные излишни, можно с сг сразу, если так смотреть то и после джейсон_декоде можно не создавать новую переменную, а переписать значение в старой дата
будет и чуть шустрее и меньше памяти съест, ну и сам код хранимый и загружаемый из бд уменьшится
- За это сообщение автора Logrus поблагодарил:
- KVN (Чт май 18, 2023 11:21 am)
Telegram |
Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с
10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) )))
Спасибо
-
KVN
- Сообщения: 88
- Зарегистрирован: Ср ноя 14, 2018 12:27 pm
- Откуда: UA
-
Благодарил (а):
25 раз
-
Поблагодарили:
3 раза
Сообщение
KVN » Чт май 18, 2023 11:21 am
Спасибо, но для начинающего и это прогресс )))
- За это сообщение автора KVN поблагодарил:
- Logrus (Чт май 18, 2023 4:36 pm)
Мой
CONNECT
Ubuntu Linux 16.04.5 LTS, Источник обновлений ядра: Мастер
Acer Aspire One D270