Foros del Web » Programando para Internet » PHP »

es lo mismo hacer in array que isset???

Estas en el tema de es lo mismo hacer in array que isset??? en el foro de PHP en Foros del Web. hola una pregunta, es lo mismo hacer if (is_array($_POST['servicio'])) { if (in_array(17, $_POST['servicio'])) { echo ' checked="checked" '; } } ------------------------------------------------- if (isset($_POST['servicio'])) { if ...
  #1 (permalink)  
Antiguo 22/02/2013, 11:33
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
es lo mismo hacer in array que isset???

hola una pregunta, es lo mismo hacer


if (is_array($_POST['servicio'])) {
if (in_array(17, $_POST['servicio'])) {
echo ' checked="checked" ';
}
}
-------------------------------------------------

if (isset($_POST['servicio'])) {
if (in_array(17, $_POST['servicio'])) {
echo ' checked="checked" ';
}
}

lo digo por el isset comparando , con el is_array,, digo en este caso, cumpliendo la misma funcion...

se que isset,, verifica si existe ese valor , y creo que is_array . verifica si es array . pero nada de saber si existe... . o algo anda mal aca ..


gracias..
  #2 (permalink)  
Antiguo 22/02/2013, 11:36
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: es lo mismo hacer in array que isset???

hum, no es lo mismo, tu te diste parte de la respuesta, isset verifica si existe dicha variable, mientras que in_array verifica si existe un valor en un array de elementos, me imagino que tu $_POST['servicio'] es un arreglo.
  #3 (permalink)  
Antiguo 22/02/2013, 11:39
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: es lo mismo hacer in array que isset???

Si haces is_array sobre $_POST['servicio'], y no existe $_POST['servicio'], php generará un Notice por Undefined Index.
isset($_POST['servicio']) es un test por si existe esa key.is_array() verifica que, además, sea un array.
  #4 (permalink)  
Antiguo 22/02/2013, 11:41
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: es lo mismo hacer in array que isset???

Para comenzar estas usando mal in_array(), primero siempre debes indicar la aguja a buscar (texto o valor), y luego un array, lo que tu haces es indicar la aguja y luego pasar un valor null/string por lo tanto no funcionará, ahora, in_array() buscará el valor en todo el array, mientras que isset() verificará unicamente si dicho indice existe en el array() (mas no lo buscará como in_array()), por lo tanto isset() será mucho mas rapido que in_array(), aunque al final hace "lo mismo"...

PD: is_array() es tal cual dice su nombre, indica si el valor pasado es un array o no...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje 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 23:47.