Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2012, 09:38
Avatar de Karmac
Karmac
 
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 12 años, 8 meses
Puntos: 34
Pregunta Error con bucle y array()

¡Buenas! Espero que puedan ayudarme. Tengo el siguiente código:

Código PHP:
Ver original
  1. preg_match_all( $regex, $this->_source, $matches );
  2. foreach ( $matches[7] as $k => $v )
  3. {
  4.     $fleet = new CR_Model_Fleet();
  5.    
  6.     $fleet->setPlayer( $matches[2][$k] );
  7.            
  8.     $names = preg_split( '#[\s]{2,}#', trim( $matches[7][$k] ) );
  9.     $numbers = preg_split( '#[\s]{2,}#', trim( $matches[8][$k] ) );
  10.    
  11.     foreach ( $names as $key => $value )
  12.     {
  13.         $fleet->addShip( $this->_createShip( $value, $this->_convertToInt( $numbers[$key] ) ) );
  14.             }
  15.    
  16.     if ( strtolower( $matches[1][$k] ) == 'atacante' )
  17.         $round->addAttackingFleet( $fleet );
  18.     else
  19.         $round->addDefendingFleet( $fleet );
  20. }

Hasta aquí bien, el problema es que ese array() parece ser infinito porque el código no termina de ejecutarse no se por qué. Antes usaba un bucle while y preg_match(), pero lo cambié por sí funcionaba con foreach() y preg_match_all() pero nada.

$matches contiene lo siguiente:

Código Texto Plano:
Ver original
  1. Array
  2. (
  3.     [0] => Array
  4.         (
  5.             [0] => Atacante D Hawkmoon [8:353:5] Armamento: 150% Escudos: 140% Cascos: 160%
  6. Tipo    Est.Muerte
  7. Cantidad    16
  8.  
  9.             [1] => Defensor donosti NO OFICIALES [8:350:4] Armamento: 170% Escudos: 160% Cascos: 160%
  10. Tipo    Misil   Láser Peq.  Láser Gr.   C.Gauss     C.Plasma    Cúpula Gr.
  11. Cantidad    3.808   312     68  29  20  1
  12.  
  13.         )
  14.  
  15.     [1] => Array
  16.         (
  17.             [0] => Atacante
  18.             [1] => Defensor
  19.         )
  20.  
  21.     [2] => Array
  22.         (
  23.             [0] => D Hawkmoon
  24.             [1] => donosti NO OFICIALES
  25.         )
  26.  
  27.     [3] => Array
  28.         (
  29.             [0] => [8:353:5]
  30.             [1] => [8:350:4]
  31.         )
  32.  
  33.     [4] => Array
  34.         (
  35.             [0] => 150%
  36.             [1] => 170%
  37.         )
  38.  
  39.     [5] => Array
  40.         (
  41.             [0] => 140%
  42.             [1] => 160%
  43.         )
  44.  
  45.     [6] => Array
  46.         (
  47.             [0] => 160%
  48.             [1] => 160%
  49.         )
  50.  
  51.     [7] => Array
  52.         (
  53.             [0] => Est.Muerte
  54.  
  55.             [1] => Misil    Láser Peq.  Láser Gr.   C.Gauss     C.Plasma    Cúpula Gr.
  56.  
  57.         )
  58.  
  59.     [8] => Array
  60.         (
  61.             [0] => 16
  62.  
  63.             [1] => 3.808    312     68  29  20  1
  64.  
  65.         )
  66.  
  67. )

Espero que puedan resolver el bucle infinito que se me crea. Saludos y muchas gracias.