Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743

    [php] far scorrere un array

    ad esempio ho un array contenente questi valori

    1,2,3

    se volessi farlo scorrere ed ottenere

    2,3,1

    esiste qualche funzione in merito, sto cercando ma non trovo...

    oppure mi devo inventare qualcos'altro?

    Errare humanum est, perseverare ovest

  2. #2
    nn so se esiste qualche funzione già pronta di php...cmq..
    se il tuo array usa degli indici 0 1 2 3 4 ....
    puoi fare così

    Codice PHP:
    $array = array();  //il tuo array

    for ($i=count($array)-1$i>=0$i--)
    echo 
    $arr[$i]; 

    ciauz

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743
    scusa, mi sono spiegato male, non è una questione di visualizzazione, intendo proprio scalare tutti i valori di un posto.

    faccio un'altro esempio:

    [0] => A
    [1] => B
    [2] => C

    dovrei trasformarlo in:

    [0] => B
    [1] => C
    [2] => A

    siccome l'array sarà più nutrito e lo scorrimento effettuato parecchie volte fino al verificarsi di una certa condizione cercavo una soluzione semplice
    Errare humanum est, perseverare ovest

  4. #4
    hmmm nn so se ho capito giusto...
    ti ho creato questa funzione che ti inverte l'ordine dell'array...
    se tu hai 1 2 3 4 5 la funzione ti restituisce 5 4 3 2 1

    se è quello che volevi...ecco qui...
    altrimenti fammi un esempio con + elementi ...ihihh sono un po' tardo

    Codice PHP:
    function inverti_array($array){

       
    $return = array();

       for (
    $i=count($array)-1$i>=0$i--) $return[] = $array[$i];

       return 
    $return;
    }

    //proviamo a invertire un array

    $prova = array(1,2,3,4,5); //array iniziale

    //stampiamo a schermo i valori
    echo '
    Normali:'
    ;
    foreach (
    $prova as $value) echo ' '.$value;

    $prova inverti_array($prova); //array invertito

    //stampiamo a schermo i valori dopo averli invertiti
    echo '
    Invertiti:'
    ;
    foreach (
    $prova as $value) echo ' '.$value

    prova questo codice così... ti ho fatto anche un esempio per farti vedere che vengono invertiti :-)

    ciauzzz

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Puoi fare anche cosi.
    Codice PHP:
    <?php
    $array1 
    = array('a','b','c','d','e','f','g');
    print 
    "Array iniziale 1:
    "
    ;
    print_r($array1);
    //
    print "
    ================================="
    ;
    $count count($array1);
    for (
    $i 1;$i<=$count;$i++) {
     
    array_push($array1,array_shift($array1));
     print 
    "
    Scorrimento 
    $i:
    "
    ;
     
    print_r($array1);
     }
    ?>
    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

  6. #6
    Originariamente inviato da badaze
    Puoi fare anche cosi.
    Codice PHP:
    <?php
    $array1 
    = array('a','b','c','d','e','f','g');
    print 
    "Array iniziale 1:
    "
    ;
    print_r($array1);
    //
    print "
    ================================="
    ;
    $count count($array1);
    for (
    $i 1;$i<=$count;$i++) {
     
    array_push($array1,array_shift($array1));
     print 
    "
    Scorrimento 
    $i:
    "
    ;
     
    print_r($array1);
     }
    ?>
    supper!!!

    credo fosse proprio quello che voleva...
    non conoscevo queste due funzioni...
    bravo!

    ciauzzz

  7. #7
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743
    Originariamente inviato da badaze
    Puoi fare anche cosi.
    Codice PHP:
    <?php
    $array1 
    = array('a','b','c','d','e','f','g');
    print 
    "Array iniziale 1:
    "
    ;
    print_r($array1);
    //
    print "
    ================================="
    ;
    $count count($array1);
    for (
    $i 1;$i<=$count;$i++) {
     
    array_push($array1,array_shift($array1));
     print 
    "
    Scorrimento 
    $i:
    "
    ;
     
    print_r($array1);
     }
    ?>
    si,si. proprio quello che mi serviva. Grazie
    Errare humanum est, perseverare ovest

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.