per favore qualcuno potrebbe aiutarmi con questa funzione di controllo duplicato. Sono ancora abbastanza fresco quando si tratta di PHP, quindi per favore scusami, se questa è una soluzione semplice.Cerca duplicato nel file di testo locale
Sto memorizzando un elenco di indirizzi e-mail in un file chiamato list.txt. Ecco il contenuto del file (ciascuno su una nuova linea):
[email protected]
[email protected]
[email protected]
ora ho una funzione (non funzionante) che dovrebbe controllare se la posta elettronica è già nella lista:
function is_unique($email) {
$list = file('list.txt');
foreach($list as $item){
if($email == $item){
return false;
die();
}
}
return true;
}
Quando Chiamo la funzione in questo test, con un indirizzo email esistente, restituisce ancora true:
if(is_unique('[email protected]')) {
echo "Email is unique";
} else {
echo "Duplicate email";
}
// Returns true even though [email protected] is in the list
Apprezzo l'input di chiunque.
Questo riparato. Hai dimenticato le interruzioni di riga. Grazie mille per il vostro aiuto. – Saladon
Utilizzare il flag 'FILE_IGNORE_NEW_LINES' quando si utilizza la funzione di file sarebbe una soluzione migliore rispetto a doverlo ritagliare manualmente dopo quello – Nick
@Nick - Questo è un grande punto, ho aggiunto l'esempio e vi ho inserito un link, spero che vada tutto bene –