Foros del Web » Programando para Internet » PHP »

PHP OO Como puedo hacer esto

Estas en el tema de Como puedo hacer esto en el foro de PHP en Foros del Web. Buenas tardes haber tengo dos arrays array_conectados array_desconectados Estos dos arrays recogen valores tales como el usuario se ha conectado y el usuario se ha ...
  #1 (permalink)  
Antiguo 08/09/2013, 07:29
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Como puedo hacer esto

Buenas tardes haber tengo dos arrays

array_conectados
array_desconectados

Estos dos arrays recogen valores tales como el usuario se ha conectado y el usuario se ha desconectado.

el problema es necesito saber que usuarios estan realmetne conectados buscando en esos dos arrays, no se si seria mejor hacerlo en uno array solo. Pero no se como saber el usuario que esta conectado.

Código PHP:
Array ( [0] => usuario has connected [1] => usuario2 has connected )

Array ( [
0] => usuario has disconnected [1] => usuario3 has disconnected
en este ejemplo deberia de sacarme el usuario2 esta conectado pero como lo hago ??
  #2 (permalink)  
Antiguo 08/09/2013, 08:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como puedo hacer esto

Pues son arrays, debes iterarlos e ir analizando sus datos uno a unos, probablemente necesites un array auxiliar para ir almacenando coincidencias.

No es difícil si sabes trabajar con arrays, pero si no sabes entonces por ahí deberías empezar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/09/2013, 08:48
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Como puedo hacer esto

pateketrueke tiene razón, pero te has parado a pensar si ésta es la mejor forma de saber qué usuarios están conectados?
  #4 (permalink)  
Antiguo 08/09/2013, 08:51
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Como puedo hacer esto

Bueno lo consegui resolver en el while donde recojo que se desconecta le hago un unset al array de esta forma siempre tengo en el array los conectados.
  #5 (permalink)  
Antiguo 08/09/2013, 08:54
Avatar de macmaikel  
Fecha de Ingreso: agosto-2013
Mensajes: 25
Antigüedad: 10 años, 8 meses
Puntos: 5
Respuesta: Como puedo hacer esto

Cita:
Iniciado por Onedy Ver Mensaje
pateketrueke tiene razón, pero te has parado a pensar si ésta es la mejor forma de saber qué usuarios están conectados?

Opino lo mismo...

Ya que estás con arrays, para no cambiar mucho, no sería mejor un solo array asociativo en que cada posición fuera el identificador del usuario y simplemente tenga un valor numerico que cuando el usuario se conecta se ponga a 1 y cuando se desconecta se ponga a 0?


$vars = array('user1' => 1);
$vars = array('user1' => 0);
$vars = array('user2' => 1);

...

...


etc...

Saludos
  #6 (permalink)  
Antiguo 08/09/2013, 09:06
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Como puedo hacer esto

Cita:
Iniciado por macmaikel Ver Mensaje
Opino lo mismo...

Ya que estás con arrays, para no cambiar mucho, no sería mejor un solo array asociativo en que cada posición fuera el identificador del usuario y simplemente tenga un valor numerico que cuando el usuario se conecta se ponga a 1 y cuando se desconecta se ponga a 0?


$vars = array('user1' => 1);
$vars = array('user1' => 0);
$vars = array('user2' => 1);

...

...


etc...

Saludos
Yo habia pensado en tu posibilidad, y en esta tambien:
$conectados['pepito']='';
Asi aprovechamos los "super arrays" optimizados que tiene PHP y ademas eliberamos memoria.
Cuando alguien se conecta, $conectados[$usuario]='';
Cuando se desconecta, unset($conectados[$usuario]);
Para saber quien esta conectado: foreach($conectados as $usuario => $nada){...}

Etiquetas: usuarios
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 16:44.