Lo que intenta este bucle es recoger los valores que va generando el foreach en el array $resultados, no está funcionando, sólo guarda los resultados de una iteración del bucle en esa variable. Supongo que será un error de novato, pero llevo ya un buen rato estancado con esto...
Código:
foreach ( $servidor as $id => $valor ) { $rFq = new rFQuery ( $host, $servidor[$id]['serverport'] ); // Query information from server if ($rFq->_queryServerInfo($tespera)) { // The server is online so assing the information $series = strtolower($rFq->_getSeries()); $track = strtolower($rFq->_getTrack()); $track = strtr( $track, $transTrack); $resultado[$id]['online'] = 1; $resultado[$id]['version'] = $rFq->_getGameVersion(); $resultado[$id]['nombre'] = $rFq->_getServerName(); $resultado[$id]['damage'] = $rFq->_getDamageMultiplier(); $resultado[$id]['pilotos'] = $rFq->_getCurPlayers() .'/'. $rFq->_getMaxPlayers(); if ($rFq->_getCurPlayers() > 0) { $resultado[$id]['live'] = 1;} $resultado[$id]['motd'] = $rFq->_getServerMOTD(); $resultado[$id]['series'] = strtr( $series, $transMod); $resultado[$id]['circuito'] = substr( $track, 0,25); $resultado[$id]['URL'] = 'rFactor://'. $ip_real .':'. $servidor[$id]['serverport']; $session = $rFq->_getSession(); if (array_key_exists($session, $session_names)) { $resultado[$id]['info_sesion'] = $session_names[$session]; if ($rFq->_getSessionTime() > 0) { $resultado[$id]['time_sesion'] = " [". gmdate("H:i:s", $rFq->_getSessionTime()) ."]"; } // Recoge las vueltas q faltan si están en carrera if ($session == "SESSION_RACE") { $resultado[$id]['lapsfaltan'] = $rFq->_getSessionLaps(); } } } else { $resultado[$id]['online'] = 0; } }
He pegado sólo el código del bucle, está englobado en una función con return $resultados.
Os agradecería mucho que me echaráis un cable.