Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    presunto bug mi date un parere se è un bug oppure no

    Il blocco del codice in questione da errore per via di in bug di php oppure sono io che sbaglio ??
    riuscireste a fare un copia ed incolla e vedere se anche a voi non cicla ??
    versione che da errore php 5.1.4

    Codice PHP:
    <?php

         
    class ciccio{

               function 
    __construct(){}

               public function 
    delme(&$matrix,&$titoli){
                   
    $i=1;

                   while(list(
    $key,) = each($matrix)){


                      if(
    $i==1) echo "
    Blocco codice delme
    "
    ;

    // Blocco di codice che non viene ciclato 
                        
    while(list($field,) = each($titoli))
                          echo 
    '
    '
    .$key.')'.$field .'| value:' $matrix[$key][$field];


                     if(
    $i==1) echo "
    Blocco codice delme_1
    "
    ;

    // lo stesso Blocco di codice viene ciclato se dentro un metodo 
                   
    $code .= self::delme_1($matrix,$titoli,$key);
                   
    $i++;
                } 
    // end-while

              
    //End Method

              
    public function delme_1(&$matrix,$titoli,$key){

                       while(list(
    $field,) = each($titoli))
                          echo 
    '
    '
    .$key.')'.$field .'| value:' $matrix[$key][$field];
              }

         } 
    //End Class



         
    $matrix = array(=> array('a'=>'pippo',
                                    
    'b'=>'paperino',
                                    
    'c'=>'pluto'),
                         
    => array('a'=>'Padova',
                                    
    'b'=>'Roma',
                                    
    'c'=>'Milano'),
                         
    => array('a'=>'Mela',
                                    
    'b'=>'Melone',
                                    
    'c'=>'Pesca')
                        );

         
    $titoli = array('a'=>'1',
                         
    'b'=>'2');

         
    $ciccio = new ciccio();
         echo 
    $ciccio->delme($matrix,$titoli);

    ?>
    Soluzioni di Web marketing, CMS, Temi wordpress, grafica e molto altro

    -----
    Ogni topic aperto con un titolo errato fa perdere un capello al moderatore che lo dovrà sistemare.. se non vuoi contribuire alla calvizia dei moderatori apri 3D a norma di regolamento, e prima fai una ricerca! No pvt tecnici!

  2. #2
    mi suona male la scansione che fai con la funz delme.

    L'array viene ciclato ma ha solo due valori quelli di $titoli.... quindi dopo un par de righe skippa ... a delme_1 perche' fine array.

    Se stasera ho tempo faro' una prova, ma sicuramente risolvi tu prima. Dovresti fare in modo che scansioni tutto il $matrix resettando ad ogni step di $key l'array $titoli.

    poi invece ho capito 'na mazza come mi succede ultimamente. Sono sempre pre ferie.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Se non sbaglio skidx aveva postato un bug del genere, prova a sentire lui.

  4. #4
    Originariamente inviato da chris
    Se non sbaglio skidx aveva postato un bug del genere, prova a sentire lui.
    non so quello di skidx, ma questo non puo' essere definito bug. Evidentemente il "metodo" resetta l'array, il semplice while no.

    mentre aspettavo di uscire ho fatto una prova...
    Codice PHP:
    <?php 

         
    class ciccio

               function 
    __construct(){} 

               public function 
    delme(&$matrix,&$titoli){ 
                   
    $i=1
                   
    $y=0;
                   while(list(
    $key,) = each($matrix)){ 

                      echo 
    "

    Blocco codice delme 
    "
    // if($i == 1) 

    // Blocco di codice che non viene ciclato 

                        
    if($y == $key) {
                          
                        while(list(
    $field,) = each($titoli)) 
                          echo 
    '
    '
    .$key.')'.$field .'| value:' $matrix[$key][$field]; 
                          } else {
                             
    reset($titoli);
                             while(list(
    $field,) = each($titoli))
                             echo 
    '
    '
    .$key.')'.$field .'| value:' $matrix[$key][$field]; 
                             }    
             

                     echo 
    "
     
    Blocco codice delme_1 
    "
    // if($i == 1) 

    // lo stesso Blocco di codice viene ciclato se dentro un metodo 
                   
    $code '';  // aggiunto per togliere il notice
                   
    $code .= self::delme_1($matrix,$titoli,$key);

                   
    $i++; 
                } 
    // end-while 

              
    //End Method 

              
    public function delme_1(&$matrix,$titoli,$key){ 

                       while(list(
    $field,) = each($titoli)) 
                          echo 
    '
    '
    .$key.')'.$field .'| value:' $matrix[$key][$field]; 
              } 

         } 
    //End Class
    il resto non cambia.

    Mi pare che il problema sia proprio nel reset dell'array $titolo che while non si sogna proprio di fare.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    mi sa che hai ragione

  6. #6
    Originariamente inviato da piero.mac
    non so quello di skidx, ma questo non puo' essere definito bug. Evidentemente il "metodo" resetta l'array, il semplice while no.

    mentre aspettavo di uscire ho fatto una prova...

    Mi pare che il problema sia proprio nel reset dell'array $titolo che while non si sogna proprio di fare.
    hum .. ma non mi pare tanto normale.. non avevo nmai avuto bisogno di usare un barbatrucco del genere ..
    bene così almeno lo so e so che la prossima volta va resettato..

    io ho lasciato poi il metodo separato perchè in quello che stavo facendo poi le cose si sono complicate ed era un bene lasciarlo separato

    per il delme so che coì quando ripasso la seconda volta il file è da cestinare senza pietà ..

    grassie Piero e grassie Chris
    Soluzioni di Web marketing, CMS, Temi wordpress, grafica e molto altro

    -----
    Ogni topic aperto con un titolo errato fa perdere un capello al moderatore che lo dovrà sistemare.. se non vuoi contribuire alla calvizia dei moderatori apri 3D a norma di regolamento, e prima fai una ricerca! No pvt tecnici!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.