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

    Array, più che pretico teorico!

    Io ho cercato su tante guide nel web ma nessuna di quelle che ho trovato è riuscita spiegarmi una cosa.
    Perchè usare gli Arry?! Quali sono i vantaggi?! Non si potrebbero usare tante variabili con nomi diversi?
    Io ho sempre come esempio i forum preimpostati con IPB o PHPBB che utilizzano gli array specialmente dei files di lingua.

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Usare gli array puo' essere interessante quando devi manipolare un numero di dati sconosciuto a priori.
    Ti faccio un esempio stupido. Prendi una parola e conta quante volte appare una singola lettera.
    Ad esempio in badaze c'è una b, 2 a, etc..

    facciamolo senza array
    codice:
    assumo che $carA, $carB sono delle variabili globali
    function conta($unaParola) {
     //-------- Inizializzo tutte le mie variabili per la conta delle lettere
     //         26 righe
     $carA = 0;
     $carB = 0;
     $carC = 0;
     $carD = 0;
     ..
     $carZ = 0;
     $lunghezza = strlen($unaParola);
     for ($i=0;$i<$lunghezza;$i++) {
       $car = substr($unaParola,$i,1);
       //--------- 26 tests
       if ($car == 'a') {
        $carA++;
       }
       if ($car == 'b') {
        $carB++;
       } 
       if ($car == 'c') {
        $carC++;
       }    
       if ($car == 'd') {
        $carD++;
       }      
       ...
       if ($car == 'z') {
        $carZ++;
       }
     }
    }
    .... visualizzazione :
    
    conta("badaze");
    print "a appare $carA volte
    ";
    print "b appare $carB volte
    ";
    print "c appare $carC volte
    ";
    print "d appare $carD volte
    ";
    ...
    print "z appare $carZ volte
    ";
    facciamolo con un array
    codice:
    function conta($unaParola) {
     //-------- Inizializzo
     $conta = array();
     $alfabeto = "abcdefghijklmnopqrstuvwxyz";
     for ($j=0;$j<26;$j++) {
      $conta[substr($alfabeto, $j,1)] = 0
     }
    
     $lunghezza = strlen($unaParola);
     for ($i=0;$i<$lunghezza;$i++) {
       $car = substr($unaParola,$i,1);
       $conta[$car]++;
     }
     return $conta;
    }
    .... visualizzazione :
    
    $contaLettere = conta("badaze");
    foreach($contaLettere as $key => $value) {
     print "$key appare $value volte
    ";
    }
    
    ... oppure
    $contaLettere = conta("badaze");
    $alfabeto = "abcdefghijklmnopqrstuvwxyz";
    for ($j=0;$j<26;$j++) {
     $lettera = substr($alfabeto, $j,1);
     $volte   = $contaLettere[$lettera];
     print "$lettera appare $volte volte
    ";
    }
    Il tutto non testato ( non mi funge apache ).
    Noterai un numero minore di righe rispetto alla versione senza array.

    Comunque è solo un uso degli array. Ci sono numerosi altri casi in cui l'uso dell'array é primordiale... senza parlare dei casi in cui senza un'array sarebbe impossibile lavorare ( tipo le query sql ).
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.