Alex писал(а):А вот вызовы. Все вместе никак не проходят.
searchJson($json,'18');
searchJson($json,'36');
searchJson($json,'48');
searchJson($json,'24');
searchJson($json,'27');
searchJson($json,'32');
searchJson($json,'17');
searchJson($json,'50');
Увы, у меня всё прекрасно проходит и ничего не виснет.
Вот только у айтемов с id 18,36 и 48 нет значения Value.
Например, id 18 имеет только поле Text: "Pentium Dual-Core E5300"
Взял Ваш json, взял Ваш код и всё OK.
Код: Выделить всё
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.222/img/data.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$ohm = curl_exec($ch);
$json = json_decode($ohm);
echo "<br>";
searchJson($json,"20");
echo "1. ".gg('ThisComputer.temp');
echo "<br>";
searchJson($json,'36');
echo "2. ".gg('ThisComputer.temp');
echo "<br>";
searchJson($json,'48');
echo "3. ".gg('ThisComputer.temp');
echo "<br>";
searchJson($json,'24');
echo "4. ".gg('ThisComputer.temp');
echo "<br>";
searchJson($json,'27');
echo "5. ".gg('ThisComputer.temp');
echo "<br>";
searchJson($json,'32');
echo "6. ".gg('ThisComputer.temp');
echo "<br>";
searchJson($json,'17');
echo "7. ".gg('ThisComputer.temp');
echo "<br>";
searchJson($json,'50');
echo "8. ".gg('ThisComputer.temp');
echo "<br>";
Результат:
Код: Выделить всё
Request: &script=openhardware2 Running script: openhardware2
1. 221
2.
3.
4. 42,0
5. 4,7
6. 46,3
7. 1082
8. 44,0
Вот так
![Sad :(](./images/smilies/icon_e_sad.gif)
Хотел добить проблему, а у меня её и нет, как и не было.
Андрей