Underc0de - Hacking y seguridad informática

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Tharx_ en Julio 14, 2019, 08:38:05 am

Título: [DUDA] - Realizar Counter Users Online en Laravel.
Publicado por: Tharx_ en Julio 14, 2019, 08:38:05 am
Moriré con esto ajaja
Código: PHP
  1. <span>
  2.  Usuarios Online:
  3.  <strong>
  4.   @foreach($users as $user)
  5.    @if($user->isOnline())
  6.     <?php
  7.      $arrayUserCount = array($user->id);
  8.      $userCount = count($arrayUserCount);
  9.                                
  10.      var_dump($arrayUserCount[0]);
  11.     ?>
  12.    @endif
  13.   @endforeach
  14.  </strong>
  15. </span>
  16.  

Tengo un problema con mi código, al yo colocar el foreach me permite iniciar la clase $user->isOnline(), pero realiza OBVIAMENTE el array por cada usuario Online, lo que yo quiero es que genere un array de los usuarios online, sin necesidad de realizar el foreach para iniciar la clase. ¿Cómo puedo iniciar la clase isOnline() sin necesidad de utilizar el foreach para que así me de un solo array de los usuarios online, no un array por cada usuario online

(https://i.imgur.com/vlS25sq.png)
Título: Re:[DUDA] - Realizar Counter Users Online en Laravel.
Publicado por: Bartz en Julio 15, 2019, 02:20:19 pm
Hola Tharx !
Creo que deberias definir el array fuera del foreach y dentro del mismo usar la funcion array_push, porque ahora lo que estas haciendo es definir el array en cada iteración del ciclo

Seria algo asi:
Código: PHP
  1.  
  2. <?php
  3. $stack = array();
  4. foreach($users as $user)
  5.     if($user->isOnline())
  6.      $arrayUserCount = array_push($user->id);
  7.      $userCount = count($arrayUserCount);
  8. ?>
  9.  


Encontré este ejemplo a ver si te es de ayuda
https://www.php.net/manual/en/function.array-push.php