Всем привет. Уже писал в разделе для новичков, но не смог найти решения. Ребята там старались помочь, спасибо им огромное, но все не то. Задачу знаю, понимаю как решить, но не дает не знание синтаксиса. Может кто сможет помочь. Есть две таблицы с данными (типа Excel), это два многомерных массива. В них обычные массивы с данными. Данные эти содержат список продаж (дата, адрес продажи, имя покупателя, количество, сумма). Пытаюсь написать код, который будет делать поиск на соответствие и выборку по двум многомерным массивам. При этом дата и сумма у нас всегда вписаны правильно, по ним совпадения точно будут, если они есть в обеих таблицах. А вот имя и адрес могут вписать по разному. Например, в одной таблице Иван Иванович Иванов, а в другой Иванов И.И.. Либо на латинице или с ошибкой. Такая же проблема и с адресом. Все это должно выводиться в две колонки (это оформлю сам конечно). В правой данные из одной таблицы, в левой их совпадение из другой. Если что-то не совпадает (имя или город), должно выводиться то, что совпадает (например дата и сумма). Если вообще нет совпадения по каким-то данным, например в одной таблице есть продажа, а в другой нет, выводим что-то типа "Нет данных". Пример вывода полного совпадения: 11.01.23, Москва ул. Пушкина д 5, Иван Иванович Иванов, 2500 / 11.01.23, Москва ул. Пушкина д 5, Иван Иванович Иванов, 2500 Пример вывода отсутствия совпадения: 11.01.23, Москва ул. Пушкина д 5, Иван Иванович Иванов, 2500 / 11.01.23, , , 2500 Пример вывода полного совпадения: 11.01.23, Москва ул. Пушкина д 5, Иван Иванович Иванов, 2500 / Нет данных
ну и где ваши наработки кода? по хорошему - вам необходимо привести все записи к единому формату .. тогда уже и сравнивать или искать совпадения
Выведи массив через print_r($my_massiv); где $my_massiv - имя исходного массива. Выложи результат в теме. Будем двигаться дальше.
Извиняюсь что долго не отвечал. К сожалению привести все записи к единому формату не получится, потому что обе таблицы заполняют разные компании и разные менеджеры. Тот же адрес или ФИО они могут написать по разному. Ориентироваться можно в основном на дату и сумму, а дальше если повезётся совпадет остальное. Да, конечно, я понимаю... Самому сложно пока написать код, в основном учусь на разборе чужого. Ребята из ветки новичков помогли написать это - https://extendsclass.com/php-bin/7195105 Но это не совсем то что надо... Мне необходимо чтобы из двух многомерных массивов происходила выборка на идентичность. При этом чтобы нам не приходилось задавать элемент поиска. То есть, мы вставляем данные двух многомерных массивов и начинается автоматический поиск. Сначала например по дате, затем по адресу, затем по имени и так далее. Если чего-то нету, ставится пропуск. За основу можно брать многомерный массив номер один (условно) и дальше уже по порядку делать из него поиск по второму многомерному массиву.
Я посмотрел твой пример. Осталось немного доработать, добавить сравнение всех полей и вывод переделать. Попробуй, может получится.
Вы заранее решили что и вот так надо.. Хотя это совсем не так. Вообще, тут только стандартизация ввода адресов, посмотрите на сервис дадата например... Если нечёткие сравнение и не хотите прям стандартизовать данные - то elastic search и поиск с его помощью.... Но что то я думаю вам как новичку не потянуть