Foros del Web » Programando para Internet » PHP »

Ayuda con Array

Estas en el tema de Ayuda con Array en el foro de PHP en Foros del Web. Wenaz! Miren tengo el siguiente Array sacado del estado de un Servidor de un juego: Código PHP: Array (     [ 0 ] => Array         (             [ 0 ...
  #1 (permalink)  
Antiguo 31/05/2006, 20:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 60
Antigüedad: 11 años, 10 meses
Puntos: 0
Ayuda con Array

Wenaz!

Miren tengo el siguiente Array sacado del estado de un Servidor de un juego:

Código PHP:
Array
(
    [
0] => Array
        (
            [
0] => 0
            
[1] => 29
            
[2] => "muymucho"

        
)

    [
1] => Array
        (
            [
0] => 4
            
[1] => 34
            
[2] => ">CaCHeRiN<"

        
)

    [
2] => Array
        (
            [
0] => 15
            
[1] => 13
            
[2] => ">ChL"
        
)

    [
4] => Array
        (
            [
0] => 0
            
[1] => 17
            
[2] => "GeD+>HaMeL"
        
)

    [
7] => Array
        (
            [
0] => 6
            
[1] => 33
            
[2] => "ajsdjasfas!"

        
)

Bueno ahi tengo a cada jugador con su indice, que en este caso seria 0,1,2,4 y 7. Esos indice son los ID de cada jugador en el Servidor. Y de esos ID sale el otro Array con los datos del jugador. Lo que necesito es sacar ese indice, ese numero por que necesito saber el ID del jugador para lo que estoy haciendo. Intente ir sumando 1+1 asi todo el rato. Pero si se fijan los ID no siempre van en 1,2,3,4,5,etc.. La mayoria del tiempo es 1,3,5,6,8,9,etc... Ascendiente pero no con todos los numeros.

=)
  #2 (permalink)  
Antiguo 31/05/2006, 20:45
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
podrías recorrer el array con foreach

Código PHP:
foreach(array as $id => $jugador) {
  echo 
"Jugador ID: ".$id."<br />";
  echo 
"Primer dato: ".$jugador[0]."<br />";
  echo 
"Segundo dato: ".$jugador[1]."<br />";
  echo 
"Tercer dato: ".$jugador[2]."<br />";


Última edición por jam1138; 31/05/2006 a las 23:32
  #3 (permalink)  
Antiguo 01/06/2006, 19:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 60
Antigüedad: 11 años, 10 meses
Puntos: 0
Muchas gracias ;)

Ok, gracias.

Mira ahora tengo el siguiente que tambien uso para ver el estado de un servidor pero como administrador.

Código PHP:
function printrow ($list = array()) {
    print 
"<tr class=\"$class\">\n";
    foreach (
$list as $elem) {
        print 
"<td>$elem</td>";
    }
    print 
"</tr>\n";
}
$result rcon ('200.xx.164.xx''25400''xxx'"status");
    
$result explode ("\n"$result);
    print 
"<table id=\"status\" border=1>\n";
    print 
"<thead><tr><th colspan=\"8\">$result[0]</th></tr>\n";
    array(
"num""score""ping""name""lastmsg""address""rate""ver");
    
array_shift($result); // 1st line : map q3wcp9
    
array_shift($result); // 2nd line : col headers
    
array_shift($result); // 3rd line : -- ------ ----
    
array_pop($result);
    
array_pop($result); // two empty lines at the end, go figure.
    
foreach ($result as $line) {
        
$player $line;
        
preg_match_all("/^\s*(\d+)\s*(\d+)\s*(\d+)(.*?)\s*(\d*)\s*(\S*)\s*(\d*)\s*(\d*)\s*$/"$player$out);
        
// weeeeeeeeee \o/
        
$num $out[1][0];
        
$score $out[2][0];
        
$ping $out[3][0];
        
$name $out[4][0];
        
$lastmsg $out[5][0];
        
$address $out[6][0];
        
$rate $out[7][0];
        
$ver $out[8][0];
        
printrow (array ($num$score$ping$name$lastmsg$address$rate$ver));
    }
    print 
"</table>\n"
El $result de arriba devuelve lo siguiente:

Código PHP:
Array
(
    [
0] => map              dday2
    
[1] => num score ping name            lastmsg ip address            rate/pps ver
    
[2] => --- ----- ---- --------------- ------- --------------------- -------- ---
    [
3] =>   0     4   22 +WSS+Lans            12 201.220.124.161:27901 4.5K60  35
    
[4] =>   1     8   13 Hitfly!               4 200.86.234.72:27901   15K 61  35
    
[5] =>   2    12   22 +WSS+Mitsui          10 164.77.49.23:50141    4.5K/100  35
    
[6] =>   3     5   19 +WSS+HadeS!          26 200.83.96.52:61431    4.0K49  35
    
[7] => 
    [
8] => 

Pero al imprimir esta el drama... Al parecer el error esta en la función preg_match_all(). Trate de meter mano pero no logre nada.

Asi queda al imprimir:
http://i3.tinypic.com/11cgj8n.jpg

Pero la idea es que no quede asi y quede en orden, osea: num,score,ping,name,lastmsg,ip address,rate/pps y ver. Pero quedan juntos y se arma un despelote!
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 17:28.