Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Tabellina decrescente

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    36

    Tabellina decrescente

    Un saluto a tutti.

    Richiesta di aiuto per un esercizio in php.
    Devo inserire in un array una tabellina e stamparla in modo decrescente.

    for ($i=1; $i<11; $i++){
    $tabellina=$i * 5;
    $tab_array=array($tabellina);
    arsort($tab_array);
    foreach ($tab_array as $valore){
    echo $valore."
    ";
    }}

    non riesco a capire perchè il comando asort non mi inverte la tabellina, se inserisco nell'array la tabellina senza prelevarla dal ciclo for funziona ma così non va.

    Un aiutino sarebbe gradito

    Grazie

  2. #2
    Magari così:

    Codice PHP:
    <?php
    for ($i=1$i<11$i++){
    $tabellina=$i 5;
    $tab_array[]=$tabellina;
    arsort($tab_array);
    }
    foreach (
    $tab_array as $valore){
    echo 
    $valore."
    "
    ;
    }
    ?>
    o così:

    Codice PHP:
    <?php
    for ($i=10$i>0$i--){
    $tabellina=$i 5;
    $tab_array[]=$tabellina;
    }
    foreach (
    $tab_array as $valore){
    echo 
    $valore."
    "
    ;
    }
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448

    Re: Tabellina decrescente

    QUesto è il tuo codice con commentato ciò che accade in realtà
    Codice PHP:
    for ($i=1$i<11$i++){ //da 1 a 10
       
    $tabellina=$i 5//numero corente x 5
       
    $tab_array=array($tabellina); //sostituisci il contenuto di $tab_array col numero contenuto in $tabellia
       
    arsort($tab_array); //inverti l'ordine dell'array (ma c'è sempre e solo 1 valore, l'ultimo)
       
    foreach ($tab_array as $valore){ //per ogni elemento dell'array (ovvero 1 solo)
          
    echo $valore."
    "
    //stampa il valore
       
    }

    In pratica azzeri ogni volta l'array, l'assegnazione corretta è
    $tab_array[] = $tabellina;
    in qesto modo aggiungi il valore, come fai tu lo sostituisci.
    asort e foreach mettili fuori dal for.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    36
    Grazie, tutto ok

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Hai capito almeno cosa sbagliavi?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    36
    Riprendo il post anche se lo script funziona.

    Le soluzioni che mi hai mostrato non prevedono l'array, mentre l'esercizio richiede che la tabellina venga inserita nell'array e poi stampata in ordine decrescente

  7. #7
    Originariamente inviato da leonte54
    Riprendo il post anche se lo script funziona.

    Le soluzioni che mi hai mostrato non prevedono l'array, mentre l'esercizio richiede che la tabellina venga inserita nell'array e poi stampata in ordine decrescente
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Originariamente inviato da leonte54
    Riprendo il post anche se lo script funziona.

    Le soluzioni che mi hai mostrato non prevedono l'array, mentre l'esercizio richiede che la tabellina venga inserita nell'array e poi stampata in ordine decrescente
    Ok, hai risposto anche alla mia domanda, in pratica non hai idea di cosa stai facendo

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    36
    Infatti sto cercando di capire.


    codice:
    In pratica azzeri ogni volta l'array, l'assegnazione corretta è
    $tab_array[] = $tabellina;
    Non ricordavo che la sintassi per definire l'array fosse anche questa

  10. #10
    infatti quel modo serve ad aggiungere un elemento in fondo all'array...se non esiste lo crea

    tu ogni volta sovrascrivevi quello vecchio

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 © 2024 vBulletin Solutions, Inc. All rights reserved.