Ничего. Ни строки. Файл на месте, доступ на чтение есть, число перепроверил символ за символом - всё сходится.
При этом ровно та же цель, тот же файл, но другим способом:
Код:
$data = json_decode(file_get_contents('data/archive/2026-08.json'), true); foreach ($data as $rec) { if ((string)$rec['fixtureId'] === '1627588') { print_r($rec); // отдаёт запись сразу, без проблем } }
PHP находит нужную запись моментально. Файл между двумя попытками никто не трогал - один и тот же файл, одна и та же машина.
Вопрос: почему одна утилита в упор не видит подстроку, которую беспрепятственно вычитывает другая? Накидайте 2-3 рабочие версии, объясняющие этот разрыв, и способ проверить каждую.
Первая версия — в исходном JSON цифры записаны как Unicode-escape: \u0031\u0036… После json_decode появится обычная строка, а grep исходные цифры подряд не найдёт.
Вторая — число записано как 1.627588e6: после разбора и приведения к строке может получиться 1627588.
Посмотрите сырой фрагмент возле fixtureId до json_decode. Если там обычные цифры подряд, сравните realpath и SHA-256 файла из PHP и оболочки: одинаковый относительный путь ещё не доказывает, что читается один файл.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения