Buongiorno,
ho un problema con un confronto di 3 array.
In pratica devo vedere se ogni valore dell' array3 non è presente nell'array1 e nell'array2; se questa condizione si verifica, il valore deve essere cancellato.
Di seguito il codice:
Il risultato è che il valore "privato" risulta da cancellare.codice:$array1_string = "administrator, author, contributor, customer, editor, instructor, member, shop_manager, staff, subscriber, translator, wpseo_editor, wpseo_manager"; $array1 = explode(",", $array1_string); $array2_string = "privato, rivenditore, grossista"; $array2 = explode(",", $array2_string); $array3_string = "administrator, editor, author, contributor, subscriber, customer, shop_manager, privato, instructor, member, staff, translator, wpseo_manager, wpseo_editor, grossista, rivenditore"; $array3 = explode(",", $array3_string); foreach($array3 as $Key_role) { if ((!in_array($Key_role, $array1)) && (!in_array($Key_role, $array2))) { echo 'cancellare ' . $Key_role . '<br>'; } }
Ma non dovrebbe essere così… il risultato non dovrebbe portare a valori da cancellare.
C'è qualcosa che mi sfugge!!
Mi aiutate a capire?
grazie.

Rispondi quotando