PHP - Duda con in_array()

 
Vista:

Duda con in_array()

Publicado por Luis (2 intervenciones) el 07/02/2015 19:39:28
1
2
3
4
5
6
7
8
9
10
11
12
$numeros = array('cero','uno','dos', 'cero' => 0,'uno' => 1,'dos' => 2);
 
    echo '3 tipo indiferente => ',
         var_dump(in_array(3,$numeros)),'<br />';
    echo '\'1\' mismo tipo => ',
         var_dump(in_array('1',$numeros,TRUE)),'<br />';
    echo '\'uno\' tipo indiferente => ',
         var_dump(in_array('uno',$numeros)),'<br />';
    echo '\'tres\' tipo indiferente => <b>',
         var_dump(in_array('tres',$numeros)),'</b><br />'; // linea  10
    echo '\'tres\' mismo tipo => ',
         var_dump(in_array('tres',$numeros,TRUE)),'<br />';

tengo este codigo, pregunto: la sentencia linea 10, deberia dar FALSE, porque no existe ese valor('tres') pero da TRUE porque, si alguien me explica por favor?

PD: si coloco en la linea 10 in_array('cualquier cadena',$numeros), me sale TRUE tambien.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Duda con in_array()

Publicado por Pedro (6 intervenciones) el 09/02/2015 13:32:18
Buenas Luis,

Para concatenar debes hacerlo con el punto (.), tras hacerlo observarás que funciona correctamente.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda con in_array()

Publicado por Luis (2 intervenciones) el 09/02/2015 19:35:12
Ya averigue porque, sale TRUE.

En realidad, en la búsqueda de mismo tipo, la función funciona correctamente (no hay una cadena ’tres’ en la tabla). En la búsqueda en la que el tipo es indiferente, la cadena se procesa como si estuviera convertida en entero (’tres’ convertida en entero da 0) y la búsqueda se efectúa sobre el resultado de esta conversión (y 0 sí está presente en la tabla)

asi, ese 'tres' o cualquier cadena siempre dara TRUE, porque lo convierte a entero(a cero) y 0 esta en $numeros, por eso da TRUE, si 0 no estaria en $numeros, daria FALSE.

Gracias a los que me respondieron!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Duda con in_array()

Publicado por xve (6935 intervenciones) el 09/02/2015 20:17:52
Gracias por comentarlo Luis!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar