galaxy, ну у вас исходно же в ответе многие ко многим. вы определитесь, через что у вас связь, юзер-ачичвки-типы, которая уже была, или выдуманная сейчас зачем-то юзер-achieve_user_connection-achievements-типы
rkfddf, "всё равно" выдаёт только в очень древних версиях РНР.
И в этом случае выдаёт ошибку, а не исключение.
Ошибку надо не подавлять, а валидировать данные перед делением.
либо конвертировать ошибку в исключение и ловить обычным порядком.
Алексей Коновалов вот видите, как важно делать адекватный заголовок? Люди никогда не читают сам вопрос, а читают только заголовок. И я в том числе :)
А в итоге вы получаете совсем не тот ответ, который хотели получить.
Night386, ну просто есть вопросы, а есть задания.
Разница в том, что для того чтобы задать вопрос, надо знать половину ответа.
Всё остальное - задания. Задания здесь оффтопик.
А здесь мало того что задание, так ещё и многоступенчатое. Эту задачу надо декомпозировать, как минимум на три части: как все это должно выглядеть в HTML. Как этот HTML закодировать в твиге. Как обработать ссылки в пхп.
Вот это будут уже вопросы. при условии, что спрашивающий хотя бы примерно представляет себе, как использовать ответ.
ThunderCat, ну это очередной эникейщик, которому дали задание "сайт подправить".
И тут как бы подразумевается "напишите мне код для twig шаблона и обработчик на РНР с использованием этого самопального фреймворка"
Сергей, а теперь вы путаете отладку с оптимизацией :)
Оптимизация - это выяснение, почему код работает медленно.
А отладка - это буквально и есть выяснение, почему код работает неправильно. Судя по тому, что вы ставите её на одну доску с оптимизацией, то вы это себе представляете как некий завершающий этап. "вот у нас код работает, теперь можно заняться "отладкой и оптимизацией". Ну нет же! :)
Отладкой мы занимаемся, когда код не работает или работает неправильно. То есть в процессе написания.
Вам надо серьёзно понять, что отладка занимает большую часть времени программиста. Никакой код, кроме самого примитивного, не работает сразу как надо. И поэтому учиться отлаживать код все равно придется.
Черновой вариант у вас уже был. Дальше именно отладка. То есть запуск, кода, его выполнение.
Я ведь не глазами все эти вещи увидел, которые написал в ответе.
Я загрузил код в одну из онлайн оболочек для РНР и стал выводить значения переменных. И после этого уже стало понятно.
Сергей, ваша проблема в том, что вы не понимаете отладку, и для вас это то же самое, что "учи матчасть".
но это не одно и то же.
большую часть времени программиста занимает отладка.
программирование - оно вообще не про написать код. оно про продумать алгоритм, и потом его отладить. А написать код - это так, незначительный промежуточный этап.
когда вы это поймете, то поймете смысл комментариев, которые вам тут все пишут. Чисто по злобе, конечно же.
Ivan, эта идея вообще не работает.
правильную идею подсказал Akinа, с сортировкой.
Не нужно никогда помечать решением ответ, который у вас не работает
Нужно иногда думать не только о себе, но и о других людях, у которых будет такой же вопрос. И которые потратят кучу времени на нерабочее решение
ComodoHacker, а вы уверены в своей трактовке вопроса? Не выяснив далали, а сразу кинувшись строчить ответ? Который и не ответ вовсе, а так - досужие рассуждения?