mrusklon
@mrusklon
если долго мучится - что нибудь получится

Почему перестал работать array_unique?

задавал вопросик Какую функцию array diff применить?
на сайте все работало как часики , но вот спустя время (ВООБЩЕ НЕЧЕГО НЕ МЕНЯЛОСЬ В КОДЕ И В БД) и тут тебе на...

$result выдает кучу кучную дублей
через var_dump я проверил оба массива , они такие же по структуре , ошибок соответственно нет , как понять почему идут дубли? Код ведь работал...
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега PHP
А вся проблема в том, что ты не понимаешь, что делает "твой" код.
И следовательно, не можешь его отлаживать.

Это к вопросу о том, как легко и приятно быть программистом, когда код за тебя пишут другие.
Ну вот оно тебе и прилетело в обраточку, это "приятно"

Исходная задача алгоритмически примитивная
И чтобы её не решить, надо совсем уж не годиться в программисты.

Поэтому тебе надо сейчас либо собраться и решить задачу самостоятельно, продумав алгоритм и реализовав его простыми средствами - циклами и условными переходами. Без всяких красивых слов типа array_diff, array_filter и прочих. Потому что использовать синтаксический сахар можно только тогда, когда ты понимаешь, как он работает внутри. Если не понимаешь - то код надо писать руками, а не волшебными функциями.
И после этого, понимая как работает твой код, ты сможешь заняться отладкой, запуская его, и выводя промежуточные результаты.
Либо, если не выйдет, то продать компьютер и идти работать в макдональдс.

А вот это вот как у тебя сейчас - "ой мне один добрый дядя написал кодик, но он ниработаит, давайте другой добрый дядя мне его починит" - это не будет работать. Два раза тебе помогут, но постоянно жить чужим трудом не получится. А "программист", который не умеет писать код сложнее уровня "вайл муэскуэль фетч эррей" никому не нужен.

что такое array_filter? Это реализация примитивного цикла,
foreach ($array as $key => $value) {
    if (!условие фильтра) {
        unset($array[$key]);
    }
}

что такое array_diff? Это реализация чуть более сложного алгоритма, когда мы перебираем первый массив, и смотрим, есть ли такой же элемент во втором. Если нет - то записываем это значение в третий.
И так далее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы