Foros del Web » Programando para Internet » PHP »

Duda con in_array()

Estas en el tema de Duda con in_array() en el foro de PHP en Foros del Web. $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 ...
  #1 (permalink)  
Antiguo 07/02/2015, 12:31
 
Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 2 meses
Puntos: 0
Duda con in_array()

$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?
  #2 (permalink)  
Antiguo 07/02/2015, 20:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda con in_array()

Pues definitivamente es un comportamiento extraño:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $numeros = array(0);
  4.  
  5. var_dump(in_array('tres', $numeros)); // => TRUE
  6. var_dump(in_array('tres', $numeros, TRUE)); // => FALSE

Sin embargo está complicado decirte exactamente porque funciona así.

Te sugiero leer el manual al respecto de dicha función, yo haré la mismo para no quedarme con la duda.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:14.