Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    estrarre degli elementi

    Salve, dato un numero casuale, vorrei estrarre i successivi 3 elementi di un array.
    Tale numero rappresenta il numero identificativo e quindi non l'indice dell'array.
    Per esempio se ho questi numeri identificativi (righe di tabella):
    3 7 8 9 16 23 72 e scelgo 9 vorrei prendere 16 23 72
    Come si fa? soprattutto per prendere i primi tre quando esce l'ultimo numero...
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202
    Il tasto search... questo sconosciuto...

    Codice PHP:
    <?php

    $valore 
    9;
    $indice=array_search($valore,$array);
    if(
    $indice) echo array[$+1] . " " . array[$+2] . " " .array[$+3"</ br>";

    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    si però...

    Ciao, ho cercato ma non hoi trovato nulla...in ogni modo la tua soluzione +1 +2 +3 fa sì che se l'elemento è l'ultimo, +3 significa che lo fa ripartire dall'inizio???
    Grazie in ogni modo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202
    no ovviamente ti da offset indefinito.

    Devi fare gli opportuni controlli

    1 2 3 4 5 6 7 8

    vuoi una roba tipo

    $var = 2 -> 3 4 5

    $var = 7 -> 8 1 2


    ??

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    esatto

    esatto, sto vedendo su php.net che forse si può usare next??? solo che non riesco a capire se arrivato all'ultimo elemento poi riparte.
    Mi servono non i successivi tre ma i prossimi tre, quindi se finisce deve ripartire dall'inizio...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202
    Codice PHP:
    <?php 
    $array
    [0] = 0;
    $array[1] = 1;
    $array[2] = 2;
    $array[3] = 3;
    $array[4] = 4;

    $key 2;
    $lastkey end($array);

    reset($array); //resetto l'array
    while ($key != key($array)) //mi sposto il puntatore sulla chiave
        
    next($array);
        
    next($array);//vado sull'elemento da stampare

    for($i=0$i<3;$i++) {
        if (
    current($array)!=$lastkey) { // se non è l'ultimo elemento...
            
    echo current($array); // ...lo stampo
            
    next($array);
        } else {echo 
    current($array); reset($array);} // altrimenti stampo l'ultimo elemento e resetto l'array
    }
    ?>

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.