Ho sorriso quando ho scovato l’errore e mi sono detto… “sei proprio un newbie!”…
La complessità del metodo che stavo scrivendo era alta e ho dovuto rivedere diversi passaggi, ma quest’ultimo problema mi ha fatto perdere quasi un’ora…

SCENA:

in PHP, se attraverso una espressione condizionale IF si vuole far eseguire qualcosa solo quando un determinato valore viene trovato in un array bisonga stare mooolto attenti!
Infatti array_search restituisce la chiave del valore trovato o false se il valore non è presente nell’array… il problema è che se il valore si trova nel primo elemento la chiave restituita è [0] che, nella verifica della condizione equivale ad un bel false!

Il problema, una volta scovato, è di facile soluzione, basta infatti impostare lo script in modo da eseguire una comparazione stretta del false, quindi === oppure !==

Spero che qualche altro disperato, in preda ad una googlata di speranza, trovi questa pagina prima di impazzire!