Originariamente inviato da philbert
molto dipende da dove li prendi questi array...
però insomma ...il concetto è questo:
1. cicli l'array (o gli array) con foreach
2. All'interno del ciclo usi strpos per vedere se qualcuni dei valori dell'array è contenuto in matricola
3. se sì fai quello che devi
se no fai l'azione di default
Ho trovato una soluzione simile, con le parole magiche "return false".
Posto il codice com'è all'incirca:
Codice PHP:
//ogni mappa motore dovrà essere filtrata in base alla matricola
$mods1 = array('GX120', 'GC135');
$mods2 = array('cod3', 'cod4');
//ecc
//primo ciclo
foreach($mods1 AS $mod1):
$pos = strpos($hidden_field['matricola'], $mod1);
if ($pos !== false) {
$pagename = 'motore_1.html';
return false;
}
endforeach;
//secondo ciclo
foreach($mods2 AS $mod2):
$pos = strpos($hidden_field['matricola'], $mod2);
if ($pos !== false) {
$pagename = 'motore_2.html';
return false;
}
endforeach;
//non trova nessuna occorrenza
$pagename = 'matricola_irreperibile.html';
Per funzionare funziona!
C'è un metodo più elegante?
@Avenger1713 ero partito proprio con uno switch basato sulla funzione in_array(); ma la matricola che mi va inserire l'utente è sporca, tranne che per una porzione che è la matrice di n matricole. Il problema stava nel trovare una funzione per estrarre la matrice e confrontarla nel mio array...