• User Newbie

    Invertire elementi di un array in php

    salve a tutti spero di non aver sbagliato sezione ho questo problema :
    <?php
    $array_prova= array ("11","22","33","44","55");
    $lungh_array= count($array_prova);
    echo "La lunghezza dell'array è: $lungh_array<BR>";
    echo "I contenuti sono...<BR>";
    for ($contatore=0; $contatore < $lungh_array; $contatore++) {
    echo "$array_prova[$contatore]<BR>";
    }

    // DEVI SCRIVERE UNA FUNZIONE CHE INVERTE L'ARRAY SENZA USARE LA FUNZIONE array_reverse
    // il risulato lo devi salvare in $array_invertito

    print_r(array_reverse($array_prova));
    ?>

    la prima volta che ho svolto questo esercizio io ho usato array_reverse solo che chi mi sta aiutando ad imparare il php mi ha detto che lo devo fare senza usare array_reverse e che devo scriver una nuova funzione ma io non ho capito in realta cosa devo fare.

    PS:sono le mie prime cose in php

    grazie per l'aiuto :smile5:🙂


  • User Attivo

    Ciao funghetto_php,

    Ho spostato la tua didcussione in quest'area e ho cambiato il titolo, il vecchio titolo non aveva riferimenti con il post.

    Per invertire l'array puoi fare un ciclo su metà degli elementi e inverire lgi elementi con l'inidice scritto sotto:

    a[length-1-i] = a*;

    è più semplice a farsi che a dirsi.
    Puoi fare :

    for ($contatore=0; $contatore < $lungh_array/2; $contatore++)
    // invertigli elementi sotto usando una variabile di appoggio
    a[length-1-i] = a*;

    Fammi sapere se è chiaro.


  • User Newbie

    grazie per la risposta se potresti scrivermi un esempio e spiegarmelo te ne sarei grato


  • User Attivo

    L'esempio è già scritto sopra:

    for ($contatore=0; $contatore < $lungh_array/2; $contatore++)
    $tmp=$a[length-1-i];
    $a[length-1-i] = $a*;
    $a*=$tmp;

    Al posto della tua funzione puoi mettere un codice come quello sopra.

    Scrivi, testa e osserva i risultati.


  • User Newbie

    mi devi scusare ma proprio non capisco ho scritto la funzione che mi hai detto tu sostituendo $a con la mia funzionzione $array_prova ma non va ed ho bisogno di questo aiuto


  • User Attivo

    Bah...
    Fammi capire... il tuo "maestro" ti ha detto di scrivere una funzione che simula l'array_reverse... esatto?
    E allora cosa chiedi a fare qua: ci devi arrivare da solo!
    Altrimenti a che serve l'esercizio??? :smile5:


  • User

    @tigrone said:

    Bah...
    E allora cosa chiedi a fare qua: ci devi arrivare da solo!
    Altrimenti a che serve l'esercizio??? :smile5:

    concordo.
    solo che più che "imparare il php" forse è più imparare i principi della programmazione...
    la dritta che it posso dare è quella che dava il mio prof di informatica.
    gli array vanno immaginati come una lista, una serie ti carte da gioco messe una di fianco all'altro.
    i clicli che solitamente si usano per operare sulle liste sono come il tuo dito che "indica" una per volta tutte le carte (la famosa $i ).
    con questo giochetto si riescono a capire un sacco di belle cose... garantito!!!


  • User Attivo

    Se gli ha dato questo quesito significa che è in grado di risolverlo...

    @Funghetto: logica, logica e logica... :wink3:


  • User Attivo

    @bjt1098 said:

    con questo giochetto si riescono a capire un sacco di belle cose... garantito!!!
    Vero...
    Io, per capire il database, l'ho immaginato come una stanza piena di cassettiere...
    Ma nessuno me l'ha suggerito.;)


  • User Newbie

    grazie ragazzi ho capito cosa intendete devo immaginare le cose e usare la logica


  • User

    @tigrone said:

    Vero...
    Io, per capire il database, l'ho immaginato come una stanza piena di cassettiere...

    il mio prof di economia, parlando di funzioni a 4 dimensioni,disse che mentre quelle a 2 e 3 si potevano immaginare e graficare, quelle a 4 per immaginarle ci voleva o una BUONA fantasia o una BUONA quantità di alcoll nel sangue... la FANTASIA ci vuole un po' per tutto...