[PHP] Confrontare due array con valori quasi uguali

samurai.sette

Utente Attivo
17 Dic 2015
228
6
18
Ciao. Come posso confrontare due array che hanno valori quasi uguali?
Faccio un esempio.
PHP:
$array1 = array ('Andrea_Paoli','Giuseppe_Lorenzi','Marco_Luigi');
$array2 = array ('Giuseppe','Marco');
Quello che vorrei fare è confrontare i due array; se nel primo array c'è un nome presente anche nel secondo array, questo deve essere scartato. Quindi in questo caso Giuseppe Lorenzi e Marco Luigi devono essere eliminati dall'array1 perchè i nomi Giuseppe e Marco sono presenti nell'array2.
Come potrei fare?
Ciao, grazie mille.
 

macus_adi

Utente Attivo
5 Dic 2017
1.288
85
48
IT/SW
Con l'approccio di memorizzazione array, ti sei eliminato 3/4 delle funzioni native di php facendole diventare iterattive.
Sarebbe meglio, visto che filtri sui nomi, effettuare un banale array_diff, naturalmente è necessario cambiare l'array1.
Soluzione poco carina...
PHP:
foreach($array1 as $k=>$items){
foreach(explode('_',$items) as $tt)(in_array($tt,$array2) && isset($array[$k]))?unset($array1[$k]):null;
}
$array1=array_values($array1);
Non l'ho provata, dovrebbe andare!

"É talmente lineare che su 10000 utenti e 1000 filtri ti ammazzi senza motivo!":eek::eek::eek::eek::eek::eek::eek: