PHP siempre devuelve falso cuando uso in_array(), y no importa si está o no en la matriz. Por ejemplo:PHP in_array() siempre devuelve falso
$list = 'test
list
example';
$list_arr = array();
$list_arr = explode("\n",$list);
if (in_array('test',$list_arr)) {
echo 'Found';
}
else {
echo 'Not Found';
}
devoluciones 'not found' a pesar de 'prueba' es un valor de la matriz
$list = 'test
list
example';
$list_arr = array();
$list_arr = explode("\n",$list);
if (in_array('qwerty',$list_arr)) {
echo 'Found';
}
else {
echo 'Not Found';
}
devoluciones 'not found', como debe
¿Por qué se vuelve falso cuando debería ser cierto? Por favor, da cualquier sugerencia. La lista que estoy usando tiene más de 10K de valores y, por lo tanto, la acorté aquí.
¿Qué sistema operativo está utilizando? En Windows, un final de línea es en realidad dos caracteres: \ r \ n, por lo que dividirlo en \ n le dará 'text \ r', 'list \ r' y 'example'. –
¿estás seguro de que tienes '\ n' y no' \ r \ n'? –
¿Puedes 'var_dump ($ list_arr);' y publicar el resultado? – MrGlass