С рекурсивностью я не перемудрил?
А вопрос то оказывается не закрыт. Долго не мог понять почему всё работает через одно место. Выяснилось, что функция searchJson работает некорректно.
В некоторых случаях работает правильно, а в некоторых вызов функции аж выбивает из onNewMinute и всё, что ниже вызова функции вообще не исполняется. В примере номер 32 отрабатывает корректно, а номер 17 уже выбивает из onNewMinute.
RAW:
[{"id": 32, "Text": "Memory", "Children": [], "Min": "23,2 %", "Value": "26,5 %",
[{"id": 17, "Text": "CPU Fan", "Children": [], "Min": "0 RPM", "Value": "1010 RPM",
Подозреваю, что дело связано с RETURN-ом. Иначе как можно вывалиться из onNewMinute?
Код: Выделить всё
function searchJson($obj, $value){
foreach($obj as $item) {
foreach($item as $child) {
if (isset($child->id) && $child->id == $value) {
sg('ThisComputer.temp', substr($child->Value,0,strpos($child->Value,' ')));
sg('ThisComputer.tempText', $child->Text);
return;
}
searchJson($child,$value);
}
}
return;
}
$ch = curl_init('http://192.168.1.2:8085/data.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$ohm = curl_exec($ch);
$json = json_decode($ohm);
searchJson($json,'32');
sg('analog22.value',gg('ThisComputer.temp'));
searchJson($json,'17');
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// <----------- ВЫЗОВ ФУНКЦИИ ВЫБИВАЕТ ИЗ onNewMinute
// <----------- И, СООТВЕТСТВЕННО, НЕ ИСПОЛНЯЕТСЯ ВСЁ, ЧТО НИЖЕ
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
sg('analog24.value',gg('ThisComputer.temp'));
...
...
...