Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    74

    da ciclo foreach in array

    Ciao a tutti ho un problema sicuramente semplice per voi!!
    Ho un array con dei valori e faccio un ciclo foreach per analizzarli uno ad uno e
    passarli tramite uno switch per convertire quel valore in un numero.
    riporto codice per essere più chiaro:

    Codice PHP:

    $var 
    = array('sufficiente','buono','ottimo','madrelingua');

    foreach(
    $var as $liv_lingua){
        
        
        switch(
    $liv_lingua){

                        
        case 
    'sufficiente'  $liv_lingua 1;
        break;

        case 
    'buono'        $liv_lingua 2;
        break;

        case 
    'ottimo'         $liv_lingua 3;
        break;

        case 
    'madrelingua'     $liv_lingua 4;
        break;


        default: echo 
    'default';

        }
    echo 
    $liv_lingua;
        

    ora, se stampo la variabile $liv_lingua ottengo i numeri corrispondenti ai valori, fin qui tt ok, ma come faccio a salvare questi valori in variabili diverse fuori dal ciclo?
    so che nn è difficile ma sono una schiappa..
    grazie a tutti
    "Gli eroi sono uomini comuni che compiono azioni straordinarie in momenti straordinari" - ( Dal film U-571 )

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Sinceramente non capisco cosa voglia dire "come faccio a salvare questi valori in variabili diverse fuori dal ciclo?".

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    74
    ciao Alhazred,
    intanto grazie di aver risposto, voglio dire che vorrei creare delle variabili tipo
    $var1
    $var2
    etc..

    e salvarci dentro i singoli valori contenuti nell'array : 1,2,3,4

    ho provato a fare tipo

    $var1 = $liv_lingua[0];
    $var2 = $liv_lingua[1];
    etc...

    ma non funziona, poi ho provato a stampare $liv_lingua fuori dal ciclo ma contiene solo l'ultimo valore il 4
    "Gli eroi sono uomini comuni che compiono azioni straordinarie in momenti straordinari" - ( Dal film U-571 )

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Contiene solo l'ultimo valore perché è una variabile semplice, quindi ad ogni ciclo sovrascrivi il valore del ciclo precedente.

    Chiamalo $liv_lingua[] vedrai che alla fine avrà tutti i valori essendo un array.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    74
    ok tante grazie solo l'ultima cosa.. dove devo inserire $liv_lingua[]?
    "Gli eroi sono uomini comuni che compiono azioni straordinarie in momenti straordinari" - ( Dal film U-571 )

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Al posto di ogni $liv_lingua.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    74
    ho messo il codice come mi hai detto, almeno credo... ma così mi stampa nuovamente i valori iniziali: sufficiente,buono...etc.. io vorrei i rispettivi valori numerici :1 ,2 etc

    Codice PHP:
    $var = array('sufficiente','buono','ottimo','madrelingua');

    foreach(
    $var as $liv_lingua[]){
        
        
        switch(
    $liv_lingua){

                        
        case 
    'sufficiente'  $liv_lingua[] = 1;
        break;

        case 
    'buono'        $liv_lingua[] = 2;
        break;

        case 
    'ottimo'         $liv_lingua[] = 3;
        break;

        case 
    'madrelingua'     $liv_lingua[] = 4;
        break;
        }

        
    }


    $var $liv_lingua[0];
    $var2 $liv_lingua[1];

    echo 
    $var;
    echo 
    $var2
    "Gli eroi sono uomini comuni che compiono azioni straordinarie in momenti straordinari" - ( Dal film U-571 )

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ah, scusa, avevo letto male il codice.
    Codice PHP:
    $var = array('sufficiente','buono','ottimo','madrelingua');

    foreach(
    $var as $value){
        
        switch(
    $value){

        case 
    'sufficiente'  $liv_lingua[] = 1;
        break;

        case 
    'buono'        $liv_lingua[] = 2;
        break;

        case 
    'ottimo'         $liv_lingua[] = 3;
        break;

        case 
    'madrelingua'     $liv_lingua[] = 4;
        break;
        }

    }

    $var $liv_lingua[0];
    $var2 $liv_lingua[1];

    echo 
    $var;
    echo 
    $var2

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    74
    Ora funzia grazie tante per l'aiuto celere!!!
    "Gli eroi sono uomini comuni che compiono azioni straordinarie in momenti straordinari" - ( Dal film U-571 )

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.