Я сначала сделал так:
<?php
$array=['Yellow', 'Orange','Red','blue','Grey'];
$array2=['Purple', 'grey','Green','Blue','White'];
$intersect_array = array_intersect(array_map('mb_strtolower', $array), array_map('mb_strtolower', $array2));
var_dump($intersect_array);
Но потом понял что у меня бывают случаи когда в слове появляется какая-то соль. И если я сам смогу определить что это то что мне нужно то PHP нет.
Мне нужно чтобы при таком массиве:
$array=['Yellow', 'Orange','Red','blue','Grey'];
$array2=['Purple', 'grey rabbit','Green','Blue color','White'];
Он мне вывел следующие значения: blue или Blue color, Grey или grey rabbit, не важно с какого массива будет брать значение. Главное чтобы он по stripos понял что они совпадают.
Есть функция которая принимает колбэк:
array_uintersect
но я так и не понял как делать сравнения и что возвращать.
А писать так:
array_intersect(array_map('mb_stripos', $array), array_map('mb_stripos', $array2));
глупо. так как stripos принимает 2 значения. а array_map отдает по 1. крч я запутался не знаю как это реализовать. Подскажите