- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет,че-то не соображу,как вытащить из array1 product_id,если в array2 нет совпадений с id,поделитесь мыслями
array1
array2
Перебрать первый и сравнить со значением второго как вам идея?
Перебрать первый и сравнить со значением второго как вам идея?
в том-то и дело,че-то совсем затупил:
foreach($array1 as $key1 => $item1) {
foreach($array2 as $key2 => $item2) {
if($item1['product_id'] != $item2['id']) {
если != то получается бред
}
}
}
Откройте для себя оператор for и с ним работайте.
foreach($array2 as $key2 => $item2) {
if($item1['product_id'] != $item2['id']) {
если != то получается бред
}
}
Может вместо второго цикла:
if(array_search($item1['product_id'], array_column($array2, 'id')) !== false){continue;}else{echo $item1['product_id'];}
Может вместо второго цикла:
if(array_search($item1['product_id'], array_column($array2, 'id')) !== false){continue;}else{echo $item1['product_id'];}
вроде работает,спасибо! пойду почитаю об этих функциях(array_search / array_column),чтобы разобраться,что тут к чему
Проще взять заведомо больший массив перебрать 1 раз его и получить
а далее меньшенький:
foreach($drugoi_array as $item) {if( isset($exists[$item['product_id/id']]) ) {
....
}
}
Ну или модно
function q($a, $b) {
А еще лучше, сбегать выше и подправить функционал своей надстройки на pdo/mysqli, чтобы#проверки массивы ли $a, $b и имеют ли соотв. индексы на вас
return ($a['product_id'] - $b['id']);
#или как вам там надо: return !($a['product_id'] - $b['id']);
}
print_r( array_uintersect_assoc($a1, $a2, 'q') );
ИД ведь уникальные?
Решений как оказалось много, остается выбрать лучшее:)
Согласен с предыдущим автором. Тут важнее не искать решение, а правильно сформировать данные.
А еще лучше, сбегать выше и подправить функционал своей надстройки на pdo/mysqli, чтобы
ИД ведь уникальные?
Решений как оказалось много, остается выбрать лучшее:)
что-то не совсем понял про последнее,можно по подробнее?
Это, если у вас массивы или хотя бы 1 из них, это выборка из бд и вы добавите в свой класс работы с бд функцию
$r = $db->rows_by_fld($sql, $a=null, $fld=null), которая вернет массив, ключами которого будут $fld, если он не null и pri или unique, то упростите подобные задачи - пересечение массивов.
Получиться д/б может как то так:
Если ваши массивы, это внешние json/xml, то забейте, но, такая функция для бд ( а может и json/xml) еще много где будет полезна.