Sto usando array_search per trovare degli elementi all'interno di un array.
Gli elementi da trovare sono prelevati da un file di testo tramite la funzione php file e sono presi uno per uno tramite foreach dall'array creato dalla funzione file. Ciascuno di questi viene passato ad array_search per cercarli all'interno di un array (ottenuto da una query dal database).
Se il primo elemento preso dal foreach è uguale al primo elemento dell'array in cui cercare, la funzione array_search non riesce a restituire un valore non falso.
Ho utilizzato anche l'operatore di disuguaglianza stretta:
if (($key = array_search("$elemento",$array)) !== false)
ma continua a considerarlo come false, non eseguendo il codice dell'if.
Il fatto strano è che facendo un controllo sull'uguaglianza tra la prima riga del file che contiene i vari $elemento e il suo stesso valore non viene restituito true:
if($primarigafile == 'suovalore'){echo 'qualcosa';}
dove $primarigafile lo prende da un foreach.
Quindi sembra che il problema sia a monte dell'array_search; pensavo a qualche problema nella lettura del file di testo da cui prelevo le stringhe $elemento. Potrebbe essere? Grazie in anticipo per le risposte.