infant, большое спасибо!
infant, спс, отправил в личку.
У проблемного файла размер всего 3,5 мб. А на серваке в данный моменты свободно 5 гб оперативы и мунин не показывает что идет како-то рост потребления ресурсов когда виснет все.
ivan-lev, попробовал получить инфу о файле, тоже зависло на этом
---------- Добавлено 15.09.2019 в 12:56 ----------Так тоже висит
ivan-lev, а как называется этот стиль замены IF? - хочу почитать/посмотреть примеры с ним
$newItems= []; foreach ($bigmassive as $item) { (isset($newItems[$item->id]) && $newItems[$item->id]->year > $item->year) or $newItems[$item->id] = $item; }
Люди, расскажите пожалуйста, как работает этот цикл. Я его не понимаю. При чем тут or?
Блин, все равно где-то ошибка. Вот я упростил выборку до одной фирмы чтобы легче было понять
На выходе запросы имеем массив:
Как мы видим, айди одной и той же фирмы, меняются только года и значения. Далее я использую следующий код:
В итоге я хочу собрать все фирмы у которых в поле валу будет либо цена (если нужный мне год, либо ноль), но получаю следующее
А по идее должен был получить это
В чем ошибка?
P.S. (нотисы выше ругаются на строку - (isset($newItems[$item->id]) || $newItems[$item->id]->year > $item->year))---------- Добавлено 13.09.2019 в 14:20 ----------Так одну проблему решил
Надо было так
Теперь получаю массив фирм с ценами за нужных год, но они не отсортированы по убыванию
Изначально в
массив $result пришел отсортированный ORDER BY `t3`.`value` DESC
но где то потом сортировка сбилась...
где она могла слететь или по другому - как опять массив по value сортирнуть?---------- Добавлено 13.09.2019 в 14:30 ----------
проблему окончательно решил так
ivan-lev, АЙ ДА ШАМАН - все отработало как нужно спс, попытаюсь теперь понять как оно работает :))) Спасибо!
Я в консоле смотрю не в браузере.
Я хотел сделать так.
1. Создать пустой массив.
2. Начать добавлять в него по одной записи из главного массива.
3. Начиная со второй итерации я хотел сравнивать значения ID из основного (старого массива) со всеми уже добавленными ID в новом массиве.
4. Если есть совпадения по ID - проверяем значение года.
5. Если в новом массиве значение года - 0, а в старом с таким же ID значение больше 0 - то заменяем массив на тот где год больше.
Вот вроде и все---------- Добавлено 13.09.2019 в 08:57 ----------ivan-lev, да получаю из базы запросом, но результат мне нужен в формате
Потратил пару часов и вынужден признаться что где-то с моей логикой проблемы :(
И в итоге этого говнокода получаю очень длинный цикл, сразу его прерываю ибо понимаю что где-то накосячил....
Точно, спс!!!